Changeset 109606 in spip-zone


Ignore:
Timestamp:
Mar 19, 2018, 12:32:17 PM (3 years ago)
Author:
rastapopoulos@…
Message:

Passage en Symfony 4 du composant Console. J'ai testé toutes les commandes de base par défaut, qui sont compatibles, vu qu'elles sont relativement basiques. Désormais il faut PHP 7 pour le lancer (le PHP en ligne de commande, pas obligatoirement le même que celui activé pour Apache).

Location:
_outils_/spip-cli/trunk
Files:
441 added
8 edited

Legend:

Unmodified
Added
Removed
  • _outils_/spip-cli/trunk/composer.json

    r85831 r109606  
    33    "require": {
    44        "php": ">=5.3.3",
    5         "symfony/console": "2.5.*"
     5        "symfony/console": "^4.0"
    66    },
    7     "minimum-stability": "dev"
     7    "minimum-stability": "stable"
    88}
  • _outils_/spip-cli/trunk/composer.lock

    r85831 r109606  
    22    "_readme": [
    33        "This file locks the dependencies of your project to a known state",
    4         "Read more about it at http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
     4        "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
    55        "This file is @generated automatically"
    66    ],
    7     "hash": "0c78e90ba80542a24256ff214936c4ee",
     7    "content-hash": "97f3927f5838127585d31222d3e435ee",
    88    "packages": [
    99        {
    1010            "name": "symfony/console",
    11             "version": "2.5.x-dev",
    12             "target-dir": "Symfony/Component/Console",
     11            "version": "v4.0.6",
    1312            "source": {
    1413                "type": "git",
    15                 "url": "https://github.com/symfony/Console.git",
    16                 "reference": "210faf0c2bb740d1ee992b4d4ea8cf597ef77672"
     14                "url": "https://github.com/symfony/console.git",
     15                "reference": "555c8dbe0ae9e561740451eabdbed2cc554b6a51"
    1716            },
    1817            "dist": {
    1918                "type": "zip",
    20                 "url": "https://api.github.com/repos/symfony/Console/zipball/210faf0c2bb740d1ee992b4d4ea8cf597ef77672",
    21                 "reference": "210faf0c2bb740d1ee992b4d4ea8cf597ef77672",
     19                "url": "https://api.github.com/repos/symfony/console/zipball/555c8dbe0ae9e561740451eabdbed2cc554b6a51",
     20                "reference": "555c8dbe0ae9e561740451eabdbed2cc554b6a51",
    2221                "shasum": ""
    2322            },
    2423            "require": {
    25                 "php": ">=5.3.3"
     24                "php": "^7.1.3",
     25                "symfony/polyfill-mbstring": "~1.0"
     26            },
     27            "conflict": {
     28                "symfony/dependency-injection": "<3.4",
     29                "symfony/process": "<3.3"
    2630            },
    2731            "require-dev": {
    2832                "psr/log": "~1.0",
    29                 "symfony/event-dispatcher": "~2.1"
     33                "symfony/config": "~3.4|~4.0",
     34                "symfony/dependency-injection": "~3.4|~4.0",
     35                "symfony/event-dispatcher": "~3.4|~4.0",
     36                "symfony/lock": "~3.4|~4.0",
     37                "symfony/process": "~3.4|~4.0"
    3038            },
    3139            "suggest": {
    3240                "psr/log": "For using the console logger",
    33                 "symfony/event-dispatcher": ""
     41                "symfony/event-dispatcher": "",
     42                "symfony/lock": "",
     43                "symfony/process": ""
    3444            },
    3545            "type": "library",
    3646            "extra": {
    3747                "branch-alias": {
    38                     "dev-master": "2.5-dev"
     48                    "dev-master": "4.0-dev"
    3949                }
    4050            },
    4151            "autoload": {
    42                 "psr-0": {
     52                "psr-4": {
    4353                    "Symfony\\Component\\Console\\": ""
    44                 }
     54                },
     55                "exclude-from-classmap": [
     56                    "/Tests/"
     57                ]
    4558            },
    4659            "notification-url": "https://packagist.org/downloads/",
     
    5063            "authors": [
    5164                {
    52                     "name": "Symfony Community",
    53                     "homepage": "http://symfony.com/contributors"
     65                    "name": "Fabien Potencier",
     66                    "email": "fabien@symfony.com"
    5467                },
    5568                {
    56                     "name": "Fabien Potencier",
    57                     "email": "fabien@symfony.com"
     69                    "name": "Symfony Community",
     70                    "homepage": "https://symfony.com/contributors"
    5871                }
    5972            ],
    6073            "description": "Symfony Console Component",
    61             "homepage": "http://symfony.com",
    62             "time": "2014-10-30 20:17:55"
     74            "homepage": "https://symfony.com",
     75            "time": "2018-02-26T15:55:47+00:00"
     76        },
     77        {
     78            "name": "symfony/polyfill-mbstring",
     79            "version": "v1.7.0",
     80            "source": {
     81                "type": "git",
     82                "url": "https://github.com/symfony/polyfill-mbstring.git",
     83                "reference": "78be803ce01e55d3491c1397cf1c64beb9c1b63b"
     84            },
     85            "dist": {
     86                "type": "zip",
     87                "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/78be803ce01e55d3491c1397cf1c64beb9c1b63b",
     88                "reference": "78be803ce01e55d3491c1397cf1c64beb9c1b63b",
     89                "shasum": ""
     90            },
     91            "require": {
     92                "php": ">=5.3.3"
     93            },
     94            "suggest": {
     95                "ext-mbstring": "For best performance"
     96            },
     97            "type": "library",
     98            "extra": {
     99                "branch-alias": {
     100                    "dev-master": "1.7-dev"
     101                }
     102            },
     103            "autoload": {
     104                "psr-4": {
     105                    "Symfony\\Polyfill\\Mbstring\\": ""
     106                },
     107                "files": [
     108                    "bootstrap.php"
     109                ]
     110            },
     111            "notification-url": "https://packagist.org/downloads/",
     112            "license": [
     113                "MIT"
     114            ],
     115            "authors": [
     116                {
     117                    "name": "Nicolas Grekas",
     118                    "email": "p@tchwork.com"
     119                },
     120                {
     121                    "name": "Symfony Community",
     122                    "homepage": "https://symfony.com/contributors"
     123                }
     124            ],
     125            "description": "Symfony polyfill for the Mbstring extension",
     126            "homepage": "https://symfony.com",
     127            "keywords": [
     128                "compatibility",
     129                "mbstring",
     130                "polyfill",
     131                "portable",
     132                "shim"
     133            ],
     134            "time": "2018-01-30T19:27:44+00:00"
    63135        }
    64136    ],
    65137    "packages-dev": [],
    66138    "aliases": [],
    67     "minimum-stability": "dev",
     139    "minimum-stability": "stable",
    68140    "stability-flags": [],
    69141    "prefer-stable": false,
     142    "prefer-lowest": false,
    70143    "platform": {
    71144        "php": ">=5.3.3"
  • _outils_/spip-cli/trunk/vendor/autoload.php

    r85831 r109606  
    33// autoload.php @generated by Composer
    44
    5 require_once __DIR__ . '/composer' . '/autoload_real.php';
     5require_once __DIR__ . '/composer/autoload_real.php';
    66
    77return ComposerAutoloaderInitee28b652c654b96388f0aeca8b91c1f9::getLoader();
  • _outils_/spip-cli/trunk/vendor/composer/ClassLoader.php

    r85831 r109606  
    1414
    1515/**
    16  * ClassLoader implements a PSR-0 class loader
    17  *
    18  * See https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md
     16 * ClassLoader implements a PSR-0, PSR-4 and classmap class loader.
    1917 *
    2018 *     $loader = new \Composer\Autoload\ClassLoader();
     
    4038 * @author Fabien Potencier <fabien@symfony.com>
    4139 * @author Jordi Boggiano <j.boggiano@seld.be>
     40 * @see    http://www.php-fig.org/psr/psr-0/
     41 * @see    http://www.php-fig.org/psr/psr-4/
    4242 */
    4343class ClassLoader
     
    5454    private $useIncludePath = false;
    5555    private $classMap = array();
     56    private $classMapAuthoritative = false;
     57    private $missingClasses = array();
     58    private $apcuPrefix;
    5659
    5760    public function getPrefixes()
    5861    {
    59         return call_user_func_array('array_merge', $this->prefixesPsr0);
     62        if (!empty($this->prefixesPsr0)) {
     63            return call_user_func_array('array_merge', $this->prefixesPsr0);
     64        }
     65
     66        return array();
    6067    }
    6168
     
    142149     *
    143150     * @param string       $prefix  The prefix/namespace, with trailing '\\'
    144      * @param array|string $paths   The PSR-0 base directories
     151     * @param array|string $paths   The PSR-4 base directories
    145152     * @param bool         $prepend Whether to prepend the directories
    146153     *
     
    246253
    247254    /**
     255     * Turns off searching the prefix and fallback directories for classes
     256     * that have not been registered with the class map.
     257     *
     258     * @param bool $classMapAuthoritative
     259     */
     260    public function setClassMapAuthoritative($classMapAuthoritative)
     261    {
     262        $this->classMapAuthoritative = $classMapAuthoritative;
     263    }
     264
     265    /**
     266     * Should class lookup fail if not found in the current class map?
     267     *
     268     * @return bool
     269     */
     270    public function isClassMapAuthoritative()
     271    {
     272        return $this->classMapAuthoritative;
     273    }
     274
     275    /**
     276     * APCu prefix to use to cache found/not-found classes, if the extension is enabled.
     277     *
     278     * @param string|null $apcuPrefix
     279     */
     280    public function setApcuPrefix($apcuPrefix)
     281    {
     282        $this->apcuPrefix = function_exists('apcu_fetch') && ini_get('apc.enabled') ? $apcuPrefix : null;
     283    }
     284
     285    /**
     286     * The APCu prefix in use, or null if APCu caching is not enabled.
     287     *
     288     * @return string|null
     289     */
     290    public function getApcuPrefix()
     291    {
     292        return $this->apcuPrefix;
     293    }
     294
     295    /**
    248296     * Registers this instance as an autoloader.
    249297     *
     
    287335    public function findFile($class)
    288336    {
    289         // work around for PHP 5.3.0 - 5.3.2 https://bugs.php.net/50731
    290         if ('\\' == $class[0]) {
    291             $class = substr($class, 1);
    292         }
    293 
    294337        // class map lookup
    295338        if (isset($this->classMap[$class])) {
    296339            return $this->classMap[$class];
    297340        }
     341        if ($this->classMapAuthoritative || isset($this->missingClasses[$class])) {
     342            return false;
     343        }
     344        if (null !== $this->apcuPrefix) {
     345            $file = apcu_fetch($this->apcuPrefix.$class, $hit);
     346            if ($hit) {
     347                return $file;
     348            }
     349        }
    298350
    299351        $file = $this->findFileWithExtension($class, '.php');
    300352
    301353        // Search for Hack files if we are running on HHVM
    302         if ($file === null && defined('HHVM_VERSION')) {
     354        if (false === $file && defined('HHVM_VERSION')) {
    303355            $file = $this->findFileWithExtension($class, '.hh');
    304356        }
    305357
    306         if ($file === null) {
     358        if (null !== $this->apcuPrefix) {
     359            apcu_add($this->apcuPrefix.$class, $file);
     360        }
     361
     362        if (false === $file) {
    307363            // Remember that this class does not exist.
    308             return $this->classMap[$class] = false;
     364            $this->missingClasses[$class] = true;
    309365        }
    310366
     
    319375        $first = $class[0];
    320376        if (isset($this->prefixLengthsPsr4[$first])) {
    321             foreach ($this->prefixLengthsPsr4[$first] as $prefix => $length) {
    322                 if (0 === strpos($class, $prefix)) {
    323                     foreach ($this->prefixDirsPsr4[$prefix] as $dir) {
    324                         if (file_exists($file = $dir . DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $length))) {
     377            $subPath = $class;
     378            while (false !== $lastPos = strrpos($subPath, '\\')) {
     379                $subPath = substr($subPath, 0, $lastPos);
     380                $search = $subPath.'\\';
     381                if (isset($this->prefixDirsPsr4[$search])) {
     382                    $pathEnd = DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $lastPos + 1);
     383                    foreach ($this->prefixDirsPsr4[$search] as $dir) {
     384                        if (file_exists($file = $dir . $pathEnd)) {
    325385                            return $file;
    326386                        }
     
    370430            return $file;
    371431        }
     432
     433        return false;
    372434    }
    373435}
  • _outils_/spip-cli/trunk/vendor/composer/autoload_namespaces.php

    r81281 r109606  
    77
    88return array(
    9     'Symfony\\Component\\Console\\' => array($vendorDir . '/symfony/console'),
    109);
  • _outils_/spip-cli/trunk/vendor/composer/autoload_psr4.php

    r81281 r109606  
    77
    88return array(
     9    'Symfony\\Polyfill\\Mbstring\\' => array($vendorDir . '/symfony/polyfill-mbstring'),
     10    'Symfony\\Component\\Console\\' => array($vendorDir . '/symfony/console'),
    911);
  • _outils_/spip-cli/trunk/vendor/composer/autoload_real.php

    r85831 r109606  
    2424        spl_autoload_unregister(array('ComposerAutoloaderInitee28b652c654b96388f0aeca8b91c1f9', 'loadClassLoader'));
    2525
    26         $map = require __DIR__ . '/autoload_namespaces.php';
    27         foreach ($map as $namespace => $path) {
    28             $loader->set($namespace, $path);
    29         }
     26        $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
     27        if ($useStaticLoader) {
     28            require_once __DIR__ . '/autoload_static.php';
    3029
    31         $map = require __DIR__ . '/autoload_psr4.php';
    32         foreach ($map as $namespace => $path) {
    33             $loader->setPsr4($namespace, $path);
    34         }
     30            call_user_func(\Composer\Autoload\ComposerStaticInitee28b652c654b96388f0aeca8b91c1f9::getInitializer($loader));
     31        } else {
     32            $map = require __DIR__ . '/autoload_namespaces.php';
     33            foreach ($map as $namespace => $path) {
     34                $loader->set($namespace, $path);
     35            }
    3536
    36         $classMap = require __DIR__ . '/autoload_classmap.php';
    37         if ($classMap) {
    38             $loader->addClassMap($classMap);
     37            $map = require __DIR__ . '/autoload_psr4.php';
     38            foreach ($map as $namespace => $path) {
     39                $loader->setPsr4($namespace, $path);
     40            }
     41
     42            $classMap = require __DIR__ . '/autoload_classmap.php';
     43            if ($classMap) {
     44                $loader->addClassMap($classMap);
     45            }
    3946        }
    4047
    4148        $loader->register(true);
     49
     50        if ($useStaticLoader) {
     51            $includeFiles = Composer\Autoload\ComposerStaticInitee28b652c654b96388f0aeca8b91c1f9::$files;
     52        } else {
     53            $includeFiles = require __DIR__ . '/autoload_files.php';
     54        }
     55        foreach ($includeFiles as $fileIdentifier => $file) {
     56            composerRequireee28b652c654b96388f0aeca8b91c1f9($fileIdentifier, $file);
     57        }
    4258
    4359        return $loader;
     
    4561}
    4662
    47 function composerRequireee28b652c654b96388f0aeca8b91c1f9($file)
     63function composerRequireee28b652c654b96388f0aeca8b91c1f9($fileIdentifier, $file)
    4864{
    49     require $file;
     65    if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
     66        require $file;
     67
     68        $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
     69    }
    5070}
  • _outils_/spip-cli/trunk/vendor/composer/installed.json

    r85831 r109606  
    22    {
    33        "name": "symfony/console",
    4         "version": "2.5.x-dev",
    5         "version_normalized": "2.5.9999999.9999999-dev",
    6         "target-dir": "Symfony/Component/Console",
     4        "version": "v4.0.6",
     5        "version_normalized": "4.0.6.0",
    76        "source": {
    87            "type": "git",
    9             "url": "https://github.com/symfony/Console.git",
    10             "reference": "210faf0c2bb740d1ee992b4d4ea8cf597ef77672"
     8            "url": "https://github.com/symfony/console.git",
     9            "reference": "555c8dbe0ae9e561740451eabdbed2cc554b6a51"
    1110        },
    1211        "dist": {
    1312            "type": "zip",
    14             "url": "https://api.github.com/repos/symfony/Console/zipball/210faf0c2bb740d1ee992b4d4ea8cf597ef77672",
    15             "reference": "210faf0c2bb740d1ee992b4d4ea8cf597ef77672",
     13            "url": "https://api.github.com/repos/symfony/console/zipball/555c8dbe0ae9e561740451eabdbed2cc554b6a51",
     14            "reference": "555c8dbe0ae9e561740451eabdbed2cc554b6a51",
    1615            "shasum": ""
    1716        },
    1817        "require": {
    19             "php": ">=5.3.3"
     18            "php": "^7.1.3",
     19            "symfony/polyfill-mbstring": "~1.0"
     20        },
     21        "conflict": {
     22            "symfony/dependency-injection": "<3.4",
     23            "symfony/process": "<3.3"
    2024        },
    2125        "require-dev": {
    2226            "psr/log": "~1.0",
    23             "symfony/event-dispatcher": "~2.1"
     27            "symfony/config": "~3.4|~4.0",
     28            "symfony/dependency-injection": "~3.4|~4.0",
     29            "symfony/event-dispatcher": "~3.4|~4.0",
     30            "symfony/lock": "~3.4|~4.0",
     31            "symfony/process": "~3.4|~4.0"
    2432        },
    2533        "suggest": {
    2634            "psr/log": "For using the console logger",
    27             "symfony/event-dispatcher": ""
     35            "symfony/event-dispatcher": "",
     36            "symfony/lock": "",
     37            "symfony/process": ""
    2838        },
    29         "time": "2014-10-30 20:17:55",
     39        "time": "2018-02-26T15:55:47+00:00",
    3040        "type": "library",
    3141        "extra": {
    3242            "branch-alias": {
    33                 "dev-master": "2.5-dev"
     43                "dev-master": "4.0-dev"
    3444            }
    3545        },
    3646        "installation-source": "source",
    3747        "autoload": {
    38             "psr-0": {
     48            "psr-4": {
    3949                "Symfony\\Component\\Console\\": ""
    40             }
     50            },
     51            "exclude-from-classmap": [
     52                "/Tests/"
     53            ]
    4154        },
    4255        "notification-url": "https://packagist.org/downloads/",
     
    4659        "authors": [
    4760            {
    48                 "name": "Symfony Community",
    49                 "homepage": "http://symfony.com/contributors"
     61                "name": "Fabien Potencier",
     62                "email": "fabien@symfony.com"
    5063            },
    5164            {
    52                 "name": "Fabien Potencier",
    53                 "email": "fabien@symfony.com"
     65                "name": "Symfony Community",
     66                "homepage": "https://symfony.com/contributors"
    5467            }
    5568        ],
    5669        "description": "Symfony Console Component",
    57         "homepage": "http://symfony.com"
     70        "homepage": "https://symfony.com"
     71    },
     72    {
     73        "name": "symfony/polyfill-mbstring",
     74        "version": "v1.7.0",
     75        "version_normalized": "1.7.0.0",
     76        "source": {
     77            "type": "git",
     78            "url": "https://github.com/symfony/polyfill-mbstring.git",
     79            "reference": "78be803ce01e55d3491c1397cf1c64beb9c1b63b"
     80        },
     81        "dist": {
     82            "type": "zip",
     83            "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/78be803ce01e55d3491c1397cf1c64beb9c1b63b",
     84            "reference": "78be803ce01e55d3491c1397cf1c64beb9c1b63b",
     85            "shasum": ""
     86        },
     87        "require": {
     88            "php": ">=5.3.3"
     89        },
     90        "suggest": {
     91            "ext-mbstring": "For best performance"
     92        },
     93        "time": "2018-01-30T19:27:44+00:00",
     94        "type": "library",
     95        "extra": {
     96            "branch-alias": {
     97                "dev-master": "1.7-dev"
     98            }
     99        },
     100        "installation-source": "source",
     101        "autoload": {
     102            "psr-4": {
     103                "Symfony\\Polyfill\\Mbstring\\": ""
     104            },
     105            "files": [
     106                "bootstrap.php"
     107            ]
     108        },
     109        "notification-url": "https://packagist.org/downloads/",
     110        "license": [
     111            "MIT"
     112        ],
     113        "authors": [
     114            {
     115                "name": "Nicolas Grekas",
     116                "email": "p@tchwork.com"
     117            },
     118            {
     119                "name": "Symfony Community",
     120                "homepage": "https://symfony.com/contributors"
     121            }
     122        ],
     123        "description": "Symfony polyfill for the Mbstring extension",
     124        "homepage": "https://symfony.com",
     125        "keywords": [
     126            "compatibility",
     127            "mbstring",
     128            "polyfill",
     129            "portable",
     130            "shim"
     131        ]
    58132    }
    59133]
Note: See TracChangeset for help on using the changeset viewer.