mirror of
https://github.com/rectorphp/rector.git
synced 2024-06-01 08:50:50 +00:00
Updated Rector to commit 5a4111e518e866379e5cdce1d9b3b282dfccaa3d
5a4111e518
Bump composer dependencies (#3208)
This commit is contained in:
parent
4fefacce80
commit
2b660785e9
|
@ -17,12 +17,12 @@ final class VersionResolver
|
||||||
* @api
|
* @api
|
||||||
* @var string
|
* @var string
|
||||||
*/
|
*/
|
||||||
public const PACKAGE_VERSION = 'ee4050a5250045ad14cee2982d49daca1367250b';
|
public const PACKAGE_VERSION = '5a4111e518e866379e5cdce1d9b3b282dfccaa3d';
|
||||||
/**
|
/**
|
||||||
* @api
|
* @api
|
||||||
* @var string
|
* @var string
|
||||||
*/
|
*/
|
||||||
public const RELEASE_DATE = '2022-12-16 12:39:59';
|
public const RELEASE_DATE = '2022-12-16 15:25:29';
|
||||||
/**
|
/**
|
||||||
* @var int
|
* @var int
|
||||||
*/
|
*/
|
||||||
|
|
2
vendor/autoload.php
vendored
2
vendor/autoload.php
vendored
|
@ -22,4 +22,4 @@ if (PHP_VERSION_ID < 50600) {
|
||||||
|
|
||||||
require_once __DIR__ . '/composer/autoload_real.php';
|
require_once __DIR__ . '/composer/autoload_real.php';
|
||||||
|
|
||||||
return ComposerAutoloaderInit74737f53e41693f5d63b624a9927fda4::getLoader();
|
return ComposerAutoloaderInit04c2ebb1fb4a68b730cfdc19fa6a61df::getLoader();
|
||||||
|
|
19
vendor/composer/autoload_classmap.php
vendored
19
vendor/composer/autoload_classmap.php
vendored
|
@ -415,6 +415,25 @@ return array(
|
||||||
'RectorPrefix202212\\Evenement\\EventEmitter' => $vendorDir . '/evenement/evenement/src/Evenement/EventEmitter.php',
|
'RectorPrefix202212\\Evenement\\EventEmitter' => $vendorDir . '/evenement/evenement/src/Evenement/EventEmitter.php',
|
||||||
'RectorPrefix202212\\Evenement\\EventEmitterInterface' => $vendorDir . '/evenement/evenement/src/Evenement/EventEmitterInterface.php',
|
'RectorPrefix202212\\Evenement\\EventEmitterInterface' => $vendorDir . '/evenement/evenement/src/Evenement/EventEmitterInterface.php',
|
||||||
'RectorPrefix202212\\Evenement\\EventEmitterTrait' => $vendorDir . '/evenement/evenement/src/Evenement/EventEmitterTrait.php',
|
'RectorPrefix202212\\Evenement\\EventEmitterTrait' => $vendorDir . '/evenement/evenement/src/Evenement/EventEmitterTrait.php',
|
||||||
|
'RectorPrefix202212\\Fidry\\CpuCoreCounter\\CpuCoreCounter' => $vendorDir . '/fidry/cpu-core-counter/src/CpuCoreCounter.php',
|
||||||
|
'RectorPrefix202212\\Fidry\\CpuCoreCounter\\Diagnoser' => $vendorDir . '/fidry/cpu-core-counter/src/Diagnoser.php',
|
||||||
|
'RectorPrefix202212\\Fidry\\CpuCoreCounter\\Exec\\ProcOpen' => $vendorDir . '/fidry/cpu-core-counter/src/Exec/ProcOpen.php',
|
||||||
|
'RectorPrefix202212\\Fidry\\CpuCoreCounter\\Finder\\CpuCoreFinder' => $vendorDir . '/fidry/cpu-core-counter/src/Finder/CpuCoreFinder.php',
|
||||||
|
'RectorPrefix202212\\Fidry\\CpuCoreCounter\\Finder\\CpuInfoFinder' => $vendorDir . '/fidry/cpu-core-counter/src/Finder/CpuInfoFinder.php',
|
||||||
|
'RectorPrefix202212\\Fidry\\CpuCoreCounter\\Finder\\DummyCpuCoreFinder' => $vendorDir . '/fidry/cpu-core-counter/src/Finder/DummyCpuCoreFinder.php',
|
||||||
|
'RectorPrefix202212\\Fidry\\CpuCoreCounter\\Finder\\FinderRegistry' => $vendorDir . '/fidry/cpu-core-counter/src/Finder/FinderRegistry.php',
|
||||||
|
'RectorPrefix202212\\Fidry\\CpuCoreCounter\\Finder\\HwLogicalFinder' => $vendorDir . '/fidry/cpu-core-counter/src/Finder/HwLogicalFinder.php',
|
||||||
|
'RectorPrefix202212\\Fidry\\CpuCoreCounter\\Finder\\HwPhysicalFinder' => $vendorDir . '/fidry/cpu-core-counter/src/Finder/HwPhysicalFinder.php',
|
||||||
|
'RectorPrefix202212\\Fidry\\CpuCoreCounter\\Finder\\NProcFinder' => $vendorDir . '/fidry/cpu-core-counter/src/Finder/NProcFinder.php',
|
||||||
|
'RectorPrefix202212\\Fidry\\CpuCoreCounter\\Finder\\NProcessorFinder' => $vendorDir . '/fidry/cpu-core-counter/src/Finder/NProcessorFinder.php',
|
||||||
|
'RectorPrefix202212\\Fidry\\CpuCoreCounter\\Finder\\NullCpuCoreFinder' => $vendorDir . '/fidry/cpu-core-counter/src/Finder/NullCpuCoreFinder.php',
|
||||||
|
'RectorPrefix202212\\Fidry\\CpuCoreCounter\\Finder\\OnlyOnWindowsFinder' => $vendorDir . '/fidry/cpu-core-counter/src/Finder/OnlyOnWindowsFinder.php',
|
||||||
|
'RectorPrefix202212\\Fidry\\CpuCoreCounter\\Finder\\ProcOpenBasedFinder' => $vendorDir . '/fidry/cpu-core-counter/src/Finder/ProcOpenBasedFinder.php',
|
||||||
|
'RectorPrefix202212\\Fidry\\CpuCoreCounter\\Finder\\SkipOnWindowsFinder' => $vendorDir . '/fidry/cpu-core-counter/src/Finder/SkipOnWindowsFinder.php',
|
||||||
|
'RectorPrefix202212\\Fidry\\CpuCoreCounter\\Finder\\WmicLogicalFinder' => $vendorDir . '/fidry/cpu-core-counter/src/Finder/WmicLogicalFinder.php',
|
||||||
|
'RectorPrefix202212\\Fidry\\CpuCoreCounter\\Finder\\WmicPhysicalFinder' => $vendorDir . '/fidry/cpu-core-counter/src/Finder/WmicPhysicalFinder.php',
|
||||||
|
'RectorPrefix202212\\Fidry\\CpuCoreCounter\\Finder\\_NProcessorFinder' => $vendorDir . '/fidry/cpu-core-counter/src/Finder/_NProcessorFinder.php',
|
||||||
|
'RectorPrefix202212\\Fidry\\CpuCoreCounter\\NumberOfCpuCoreNotFound' => $vendorDir . '/fidry/cpu-core-counter/src/NumberOfCpuCoreNotFound.php',
|
||||||
'RectorPrefix202212\\Nette\\ArgumentOutOfRangeException' => $vendorDir . '/nette/utils/src/exceptions.php',
|
'RectorPrefix202212\\Nette\\ArgumentOutOfRangeException' => $vendorDir . '/nette/utils/src/exceptions.php',
|
||||||
'RectorPrefix202212\\Nette\\DeprecatedException' => $vendorDir . '/nette/utils/src/exceptions.php',
|
'RectorPrefix202212\\Nette\\DeprecatedException' => $vendorDir . '/nette/utils/src/exceptions.php',
|
||||||
'RectorPrefix202212\\Nette\\DirectoryNotFoundException' => $vendorDir . '/nette/utils/src/exceptions.php',
|
'RectorPrefix202212\\Nette\\DirectoryNotFoundException' => $vendorDir . '/nette/utils/src/exceptions.php',
|
||||||
|
|
1
vendor/composer/autoload_psr4.php
vendored
1
vendor/composer/autoload_psr4.php
vendored
|
@ -39,6 +39,7 @@ return array(
|
||||||
'RectorPrefix202212\\Psr\\Container\\' => array($vendorDir . '/psr/container/src'),
|
'RectorPrefix202212\\Psr\\Container\\' => array($vendorDir . '/psr/container/src'),
|
||||||
'RectorPrefix202212\\Psr\\Cache\\' => array($vendorDir . '/psr/cache/src'),
|
'RectorPrefix202212\\Psr\\Cache\\' => array($vendorDir . '/psr/cache/src'),
|
||||||
'RectorPrefix202212\\OndraM\\CiDetector\\' => array($vendorDir . '/ondram/ci-detector/src'),
|
'RectorPrefix202212\\OndraM\\CiDetector\\' => array($vendorDir . '/ondram/ci-detector/src'),
|
||||||
|
'RectorPrefix202212\\Fidry\\CpuCoreCounter\\' => array($vendorDir . '/fidry/cpu-core-counter/src'),
|
||||||
'RectorPrefix202212\\Evenement\\' => array($vendorDir . '/evenement/evenement/src/Evenement'),
|
'RectorPrefix202212\\Evenement\\' => array($vendorDir . '/evenement/evenement/src/Evenement'),
|
||||||
'RectorPrefix202212\\Doctrine\\Inflector\\' => array($vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector'),
|
'RectorPrefix202212\\Doctrine\\Inflector\\' => array($vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector'),
|
||||||
'RectorPrefix202212\\Composer\\XdebugHandler\\' => array($vendorDir . '/composer/xdebug-handler/src'),
|
'RectorPrefix202212\\Composer\\XdebugHandler\\' => array($vendorDir . '/composer/xdebug-handler/src'),
|
||||||
|
|
14
vendor/composer/autoload_real.php
vendored
14
vendor/composer/autoload_real.php
vendored
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
// autoload_real.php @generated by Composer
|
// autoload_real.php @generated by Composer
|
||||||
|
|
||||||
class ComposerAutoloaderInit74737f53e41693f5d63b624a9927fda4
|
class ComposerAutoloaderInit04c2ebb1fb4a68b730cfdc19fa6a61df
|
||||||
{
|
{
|
||||||
private static $loader;
|
private static $loader;
|
||||||
|
|
||||||
|
@ -22,19 +22,19 @@ class ComposerAutoloaderInit74737f53e41693f5d63b624a9927fda4
|
||||||
return self::$loader;
|
return self::$loader;
|
||||||
}
|
}
|
||||||
|
|
||||||
spl_autoload_register(array('ComposerAutoloaderInit74737f53e41693f5d63b624a9927fda4', 'loadClassLoader'), true, true);
|
spl_autoload_register(array('ComposerAutoloaderInit04c2ebb1fb4a68b730cfdc19fa6a61df', 'loadClassLoader'), true, true);
|
||||||
self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
|
self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
|
||||||
spl_autoload_unregister(array('ComposerAutoloaderInit74737f53e41693f5d63b624a9927fda4', 'loadClassLoader'));
|
spl_autoload_unregister(array('ComposerAutoloaderInit04c2ebb1fb4a68b730cfdc19fa6a61df', 'loadClassLoader'));
|
||||||
|
|
||||||
require __DIR__ . '/autoload_static.php';
|
require __DIR__ . '/autoload_static.php';
|
||||||
call_user_func(\Composer\Autoload\ComposerStaticInit74737f53e41693f5d63b624a9927fda4::getInitializer($loader));
|
call_user_func(\Composer\Autoload\ComposerStaticInit04c2ebb1fb4a68b730cfdc19fa6a61df::getInitializer($loader));
|
||||||
|
|
||||||
$loader->setClassMapAuthoritative(true);
|
$loader->setClassMapAuthoritative(true);
|
||||||
$loader->register(true);
|
$loader->register(true);
|
||||||
|
|
||||||
$includeFiles = \Composer\Autoload\ComposerStaticInit74737f53e41693f5d63b624a9927fda4::$files;
|
$includeFiles = \Composer\Autoload\ComposerStaticInit04c2ebb1fb4a68b730cfdc19fa6a61df::$files;
|
||||||
foreach ($includeFiles as $fileIdentifier => $file) {
|
foreach ($includeFiles as $fileIdentifier => $file) {
|
||||||
composerRequire74737f53e41693f5d63b624a9927fda4($fileIdentifier, $file);
|
composerRequire04c2ebb1fb4a68b730cfdc19fa6a61df($fileIdentifier, $file);
|
||||||
}
|
}
|
||||||
|
|
||||||
return $loader;
|
return $loader;
|
||||||
|
@ -46,7 +46,7 @@ class ComposerAutoloaderInit74737f53e41693f5d63b624a9927fda4
|
||||||
* @param string $file
|
* @param string $file
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
function composerRequire74737f53e41693f5d63b624a9927fda4($fileIdentifier, $file)
|
function composerRequire04c2ebb1fb4a68b730cfdc19fa6a61df($fileIdentifier, $file)
|
||||||
{
|
{
|
||||||
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
|
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
|
||||||
$GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
|
$GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
|
||||||
|
|
32
vendor/composer/autoload_static.php
vendored
32
vendor/composer/autoload_static.php
vendored
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
namespace Composer\Autoload;
|
namespace Composer\Autoload;
|
||||||
|
|
||||||
class ComposerStaticInit74737f53e41693f5d63b624a9927fda4
|
class ComposerStaticInit04c2ebb1fb4a68b730cfdc19fa6a61df
|
||||||
{
|
{
|
||||||
public static $files = array (
|
public static $files = array (
|
||||||
'ad155f8f1cf0d418fe49e248db8c661b' => __DIR__ . '/..' . '/react/promise/src/functions_include.php',
|
'ad155f8f1cf0d418fe49e248db8c661b' => __DIR__ . '/..' . '/react/promise/src/functions_include.php',
|
||||||
|
@ -56,6 +56,7 @@ class ComposerStaticInit74737f53e41693f5d63b624a9927fda4
|
||||||
'RectorPrefix202212\\Psr\\Container\\' => 33,
|
'RectorPrefix202212\\Psr\\Container\\' => 33,
|
||||||
'RectorPrefix202212\\Psr\\Cache\\' => 29,
|
'RectorPrefix202212\\Psr\\Cache\\' => 29,
|
||||||
'RectorPrefix202212\\OndraM\\CiDetector\\' => 37,
|
'RectorPrefix202212\\OndraM\\CiDetector\\' => 37,
|
||||||
|
'RectorPrefix202212\\Fidry\\CpuCoreCounter\\' => 40,
|
||||||
'RectorPrefix202212\\Evenement\\' => 29,
|
'RectorPrefix202212\\Evenement\\' => 29,
|
||||||
'RectorPrefix202212\\Doctrine\\Inflector\\' => 38,
|
'RectorPrefix202212\\Doctrine\\Inflector\\' => 38,
|
||||||
'RectorPrefix202212\\Composer\\XdebugHandler\\' => 42,
|
'RectorPrefix202212\\Composer\\XdebugHandler\\' => 42,
|
||||||
|
@ -207,6 +208,10 @@ class ComposerStaticInit74737f53e41693f5d63b624a9927fda4
|
||||||
array (
|
array (
|
||||||
0 => __DIR__ . '/..' . '/ondram/ci-detector/src',
|
0 => __DIR__ . '/..' . '/ondram/ci-detector/src',
|
||||||
),
|
),
|
||||||
|
'RectorPrefix202212\\Fidry\\CpuCoreCounter\\' =>
|
||||||
|
array (
|
||||||
|
0 => __DIR__ . '/..' . '/fidry/cpu-core-counter/src',
|
||||||
|
),
|
||||||
'RectorPrefix202212\\Evenement\\' =>
|
'RectorPrefix202212\\Evenement\\' =>
|
||||||
array (
|
array (
|
||||||
0 => __DIR__ . '/..' . '/evenement/evenement/src/Evenement',
|
0 => __DIR__ . '/..' . '/evenement/evenement/src/Evenement',
|
||||||
|
@ -655,6 +660,25 @@ class ComposerStaticInit74737f53e41693f5d63b624a9927fda4
|
||||||
'RectorPrefix202212\\Evenement\\EventEmitter' => __DIR__ . '/..' . '/evenement/evenement/src/Evenement/EventEmitter.php',
|
'RectorPrefix202212\\Evenement\\EventEmitter' => __DIR__ . '/..' . '/evenement/evenement/src/Evenement/EventEmitter.php',
|
||||||
'RectorPrefix202212\\Evenement\\EventEmitterInterface' => __DIR__ . '/..' . '/evenement/evenement/src/Evenement/EventEmitterInterface.php',
|
'RectorPrefix202212\\Evenement\\EventEmitterInterface' => __DIR__ . '/..' . '/evenement/evenement/src/Evenement/EventEmitterInterface.php',
|
||||||
'RectorPrefix202212\\Evenement\\EventEmitterTrait' => __DIR__ . '/..' . '/evenement/evenement/src/Evenement/EventEmitterTrait.php',
|
'RectorPrefix202212\\Evenement\\EventEmitterTrait' => __DIR__ . '/..' . '/evenement/evenement/src/Evenement/EventEmitterTrait.php',
|
||||||
|
'RectorPrefix202212\\Fidry\\CpuCoreCounter\\CpuCoreCounter' => __DIR__ . '/..' . '/fidry/cpu-core-counter/src/CpuCoreCounter.php',
|
||||||
|
'RectorPrefix202212\\Fidry\\CpuCoreCounter\\Diagnoser' => __DIR__ . '/..' . '/fidry/cpu-core-counter/src/Diagnoser.php',
|
||||||
|
'RectorPrefix202212\\Fidry\\CpuCoreCounter\\Exec\\ProcOpen' => __DIR__ . '/..' . '/fidry/cpu-core-counter/src/Exec/ProcOpen.php',
|
||||||
|
'RectorPrefix202212\\Fidry\\CpuCoreCounter\\Finder\\CpuCoreFinder' => __DIR__ . '/..' . '/fidry/cpu-core-counter/src/Finder/CpuCoreFinder.php',
|
||||||
|
'RectorPrefix202212\\Fidry\\CpuCoreCounter\\Finder\\CpuInfoFinder' => __DIR__ . '/..' . '/fidry/cpu-core-counter/src/Finder/CpuInfoFinder.php',
|
||||||
|
'RectorPrefix202212\\Fidry\\CpuCoreCounter\\Finder\\DummyCpuCoreFinder' => __DIR__ . '/..' . '/fidry/cpu-core-counter/src/Finder/DummyCpuCoreFinder.php',
|
||||||
|
'RectorPrefix202212\\Fidry\\CpuCoreCounter\\Finder\\FinderRegistry' => __DIR__ . '/..' . '/fidry/cpu-core-counter/src/Finder/FinderRegistry.php',
|
||||||
|
'RectorPrefix202212\\Fidry\\CpuCoreCounter\\Finder\\HwLogicalFinder' => __DIR__ . '/..' . '/fidry/cpu-core-counter/src/Finder/HwLogicalFinder.php',
|
||||||
|
'RectorPrefix202212\\Fidry\\CpuCoreCounter\\Finder\\HwPhysicalFinder' => __DIR__ . '/..' . '/fidry/cpu-core-counter/src/Finder/HwPhysicalFinder.php',
|
||||||
|
'RectorPrefix202212\\Fidry\\CpuCoreCounter\\Finder\\NProcFinder' => __DIR__ . '/..' . '/fidry/cpu-core-counter/src/Finder/NProcFinder.php',
|
||||||
|
'RectorPrefix202212\\Fidry\\CpuCoreCounter\\Finder\\NProcessorFinder' => __DIR__ . '/..' . '/fidry/cpu-core-counter/src/Finder/NProcessorFinder.php',
|
||||||
|
'RectorPrefix202212\\Fidry\\CpuCoreCounter\\Finder\\NullCpuCoreFinder' => __DIR__ . '/..' . '/fidry/cpu-core-counter/src/Finder/NullCpuCoreFinder.php',
|
||||||
|
'RectorPrefix202212\\Fidry\\CpuCoreCounter\\Finder\\OnlyOnWindowsFinder' => __DIR__ . '/..' . '/fidry/cpu-core-counter/src/Finder/OnlyOnWindowsFinder.php',
|
||||||
|
'RectorPrefix202212\\Fidry\\CpuCoreCounter\\Finder\\ProcOpenBasedFinder' => __DIR__ . '/..' . '/fidry/cpu-core-counter/src/Finder/ProcOpenBasedFinder.php',
|
||||||
|
'RectorPrefix202212\\Fidry\\CpuCoreCounter\\Finder\\SkipOnWindowsFinder' => __DIR__ . '/..' . '/fidry/cpu-core-counter/src/Finder/SkipOnWindowsFinder.php',
|
||||||
|
'RectorPrefix202212\\Fidry\\CpuCoreCounter\\Finder\\WmicLogicalFinder' => __DIR__ . '/..' . '/fidry/cpu-core-counter/src/Finder/WmicLogicalFinder.php',
|
||||||
|
'RectorPrefix202212\\Fidry\\CpuCoreCounter\\Finder\\WmicPhysicalFinder' => __DIR__ . '/..' . '/fidry/cpu-core-counter/src/Finder/WmicPhysicalFinder.php',
|
||||||
|
'RectorPrefix202212\\Fidry\\CpuCoreCounter\\Finder\\_NProcessorFinder' => __DIR__ . '/..' . '/fidry/cpu-core-counter/src/Finder/_NProcessorFinder.php',
|
||||||
|
'RectorPrefix202212\\Fidry\\CpuCoreCounter\\NumberOfCpuCoreNotFound' => __DIR__ . '/..' . '/fidry/cpu-core-counter/src/NumberOfCpuCoreNotFound.php',
|
||||||
'RectorPrefix202212\\Nette\\ArgumentOutOfRangeException' => __DIR__ . '/..' . '/nette/utils/src/exceptions.php',
|
'RectorPrefix202212\\Nette\\ArgumentOutOfRangeException' => __DIR__ . '/..' . '/nette/utils/src/exceptions.php',
|
||||||
'RectorPrefix202212\\Nette\\DeprecatedException' => __DIR__ . '/..' . '/nette/utils/src/exceptions.php',
|
'RectorPrefix202212\\Nette\\DeprecatedException' => __DIR__ . '/..' . '/nette/utils/src/exceptions.php',
|
||||||
'RectorPrefix202212\\Nette\\DirectoryNotFoundException' => __DIR__ . '/..' . '/nette/utils/src/exceptions.php',
|
'RectorPrefix202212\\Nette\\DirectoryNotFoundException' => __DIR__ . '/..' . '/nette/utils/src/exceptions.php',
|
||||||
|
@ -3030,9 +3054,9 @@ class ComposerStaticInit74737f53e41693f5d63b624a9927fda4
|
||||||
public static function getInitializer(ClassLoader $loader)
|
public static function getInitializer(ClassLoader $loader)
|
||||||
{
|
{
|
||||||
return \Closure::bind(function () use ($loader) {
|
return \Closure::bind(function () use ($loader) {
|
||||||
$loader->prefixLengthsPsr4 = ComposerStaticInit74737f53e41693f5d63b624a9927fda4::$prefixLengthsPsr4;
|
$loader->prefixLengthsPsr4 = ComposerStaticInit04c2ebb1fb4a68b730cfdc19fa6a61df::$prefixLengthsPsr4;
|
||||||
$loader->prefixDirsPsr4 = ComposerStaticInit74737f53e41693f5d63b624a9927fda4::$prefixDirsPsr4;
|
$loader->prefixDirsPsr4 = ComposerStaticInit04c2ebb1fb4a68b730cfdc19fa6a61df::$prefixDirsPsr4;
|
||||||
$loader->classMap = ComposerStaticInit74737f53e41693f5d63b624a9927fda4::$classMap;
|
$loader->classMap = ComposerStaticInit04c2ebb1fb4a68b730cfdc19fa6a61df::$classMap;
|
||||||
|
|
||||||
}, null, ClassLoader::class);
|
}, null, ClassLoader::class);
|
||||||
}
|
}
|
||||||
|
|
171
vendor/composer/installed.json
vendored
171
vendor/composer/installed.json
vendored
|
@ -438,6 +438,70 @@
|
||||||
},
|
},
|
||||||
"install-path": "..\/evenement\/evenement"
|
"install-path": "..\/evenement\/evenement"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "fidry\/cpu-core-counter",
|
||||||
|
"version": "0.4.0",
|
||||||
|
"version_normalized": "0.4.0.0",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https:\/\/github.com\/theofidry\/cpu-core-counter.git",
|
||||||
|
"reference": "666cb04a02f2801f3b19955fc23c824f9018bf64"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https:\/\/api.github.com\/repos\/theofidry\/cpu-core-counter\/zipball\/666cb04a02f2801f3b19955fc23c824f9018bf64",
|
||||||
|
"reference": "666cb04a02f2801f3b19955fc23c824f9018bf64",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": "^7.2 || ^8.0"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"fidry\/makefile": "^0.2.0",
|
||||||
|
"phpstan\/extension-installer": "^1.2.0",
|
||||||
|
"phpstan\/phpstan": "^1.9.2",
|
||||||
|
"phpstan\/phpstan-deprecation-rules": "^1.0.0",
|
||||||
|
"phpstan\/phpstan-phpunit": "^1.2.2",
|
||||||
|
"phpstan\/phpstan-strict-rules": "^1.4.4",
|
||||||
|
"phpunit\/phpunit": "^9.5.26 || ^8.5.31",
|
||||||
|
"theofidry\/php-cs-fixer-config": "^1.0",
|
||||||
|
"webmozarts\/strict-phpunit": "^7.5"
|
||||||
|
},
|
||||||
|
"time": "2022-12-10T21:26:31+00:00",
|
||||||
|
"type": "library",
|
||||||
|
"installation-source": "dist",
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"RectorPrefix202212\\Fidry\\CpuCoreCounter\\": "src\/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https:\/\/packagist.org\/downloads\/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Th\u00e9o FIDRY",
|
||||||
|
"email": "theo.fidry@gmail.com"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Tiny utility to get the number of CPU cores.",
|
||||||
|
"keywords": [
|
||||||
|
"CPU",
|
||||||
|
"core"
|
||||||
|
],
|
||||||
|
"support": {
|
||||||
|
"issues": "https:\/\/github.com\/theofidry\/cpu-core-counter\/issues",
|
||||||
|
"source": "https:\/\/github.com\/theofidry\/cpu-core-counter\/tree\/0.4.0"
|
||||||
|
},
|
||||||
|
"funding": [
|
||||||
|
{
|
||||||
|
"url": "https:\/\/github.com\/theofidry",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"install-path": "..\/fidry\/cpu-core-counter"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "nette\/utils",
|
"name": "nette\/utils",
|
||||||
"version": "v3.2.8",
|
"version": "v3.2.8",
|
||||||
|
@ -2969,52 +3033,53 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symplify\/easy-parallel",
|
"name": "symplify\/easy-parallel",
|
||||||
"version": "11.1.17",
|
"version": "11.1.18",
|
||||||
"version_normalized": "11.1.17.0",
|
"version_normalized": "11.1.18.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https:\/\/github.com\/symplify\/easy-parallel.git",
|
"url": "https:\/\/github.com\/symplify\/easy-parallel.git",
|
||||||
"reference": "451d792f838028cd83dcf157abdb3ed2d9192286"
|
"reference": "6376d67294222689f51cd4f791024178520c8856"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https:\/\/api.github.com\/repos\/symplify\/easy-parallel\/zipball\/451d792f838028cd83dcf157abdb3ed2d9192286",
|
"url": "https:\/\/api.github.com\/repos\/symplify\/easy-parallel\/zipball\/6376d67294222689f51cd4f791024178520c8856",
|
||||||
"reference": "451d792f838028cd83dcf157abdb3ed2d9192286",
|
"reference": "6376d67294222689f51cd4f791024178520c8856",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"clue\/ndjson-react": "^1.2",
|
"clue\/ndjson-react": "^1.2",
|
||||||
|
"fidry\/cpu-core-counter": "^0.4.0",
|
||||||
"php": ">=8.1",
|
"php": ">=8.1",
|
||||||
"react\/child-process": "^0.6.5",
|
"react\/child-process": "^0.6.5",
|
||||||
"react\/event-loop": "^1.3",
|
"react\/event-loop": "^1.3",
|
||||||
"react\/socket": "^1.12",
|
"react\/socket": "^1.12",
|
||||||
"symfony\/console": "^6.1"
|
"symfony\/console": "^6.2"
|
||||||
},
|
},
|
||||||
"conflict": {
|
"conflict": {
|
||||||
"symplify\/autowire-array-parameter": "<11.1.17",
|
"symplify\/autowire-array-parameter": "<11.1.18",
|
||||||
"symplify\/coding-standard": "<11.1.17",
|
"symplify\/coding-standard": "<11.1.18",
|
||||||
"symplify\/composer-json-manipulator": "<11.1.17",
|
"symplify\/composer-json-manipulator": "<11.1.18",
|
||||||
"symplify\/config-transformer": "<11.1.17",
|
"symplify\/config-transformer": "<11.1.18",
|
||||||
"symplify\/easy-ci": "<11.1.17",
|
"symplify\/easy-ci": "<11.1.18",
|
||||||
"symplify\/easy-coding-standard": "<11.1.17",
|
"symplify\/easy-coding-standard": "<11.1.18",
|
||||||
"symplify\/easy-testing": "<11.1.17",
|
"symplify\/easy-testing": "<11.1.18",
|
||||||
"symplify\/monorepo-builder": "<11.1.17",
|
"symplify\/monorepo-builder": "<11.1.18",
|
||||||
"symplify\/package-builder": "<11.1.17",
|
"symplify\/package-builder": "<11.1.18",
|
||||||
"symplify\/php-config-printer": "<11.1.17",
|
"symplify\/php-config-printer": "<11.1.18",
|
||||||
"symplify\/phpstan-extensions": "<11.1.17",
|
"symplify\/phpstan-extensions": "<11.1.18",
|
||||||
"symplify\/phpstan-rules": "<11.1.17",
|
"symplify\/phpstan-rules": "<11.1.18",
|
||||||
"symplify\/rule-doc-generator": "<11.1.17",
|
"symplify\/rule-doc-generator": "<11.1.18",
|
||||||
"symplify\/rule-doc-generator-contracts": "<11.1.17",
|
"symplify\/rule-doc-generator-contracts": "<11.1.18",
|
||||||
"symplify\/smart-file-system": "<11.1.17",
|
"symplify\/smart-file-system": "<11.1.18",
|
||||||
"symplify\/symfony-static-dumper": "<11.1.17",
|
"symplify\/symfony-static-dumper": "<11.1.18",
|
||||||
"symplify\/symplify-kernel": "<11.1.17",
|
"symplify\/symplify-kernel": "<11.1.18",
|
||||||
"symplify\/vendor-patches": "<11.1.17"
|
"symplify\/vendor-patches": "<11.1.18"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"phpunit\/phpunit": "^9.5.25",
|
"phpunit\/phpunit": "^9.5.26",
|
||||||
"symplify\/package-builder": "^11.1.17"
|
"symplify\/package-builder": "^11.1.18"
|
||||||
},
|
},
|
||||||
"time": "2022-11-10T15:22:58+00:00",
|
"time": "2022-12-16T14:05:42+00:00",
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
"branch-alias": {
|
||||||
|
@ -3034,23 +3099,23 @@
|
||||||
"description": "Helper package for easier CLI project parallelization",
|
"description": "Helper package for easier CLI project parallelization",
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https:\/\/github.com\/symplify\/easy-parallel\/issues",
|
"issues": "https:\/\/github.com\/symplify\/easy-parallel\/issues",
|
||||||
"source": "https:\/\/github.com\/symplify\/easy-parallel\/tree\/11.1.17"
|
"source": "https:\/\/github.com\/symplify\/easy-parallel\/tree\/11.1.18"
|
||||||
},
|
},
|
||||||
"install-path": "..\/symplify\/easy-parallel"
|
"install-path": "..\/symplify\/easy-parallel"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symplify\/rule-doc-generator-contracts",
|
"name": "symplify\/rule-doc-generator-contracts",
|
||||||
"version": "11.1.17",
|
"version": "11.1.18",
|
||||||
"version_normalized": "11.1.17.0",
|
"version_normalized": "11.1.18.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https:\/\/github.com\/symplify\/rule-doc-generator-contracts.git",
|
"url": "https:\/\/github.com\/symplify\/rule-doc-generator-contracts.git",
|
||||||
"reference": "db548865295b95fcd5f868f0782fedef1e96fcb1"
|
"reference": "1d72ded986974ff6b1f621c94a7e4a23524efb91"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https:\/\/api.github.com\/repos\/symplify\/rule-doc-generator-contracts\/zipball\/db548865295b95fcd5f868f0782fedef1e96fcb1",
|
"url": "https:\/\/api.github.com\/repos\/symplify\/rule-doc-generator-contracts\/zipball\/1d72ded986974ff6b1f621c94a7e4a23524efb91",
|
||||||
"reference": "db548865295b95fcd5f868f0782fedef1e96fcb1",
|
"reference": "1d72ded986974ff6b1f621c94a7e4a23524efb91",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -3058,26 +3123,26 @@
|
||||||
"php": ">=8.1"
|
"php": ">=8.1"
|
||||||
},
|
},
|
||||||
"conflict": {
|
"conflict": {
|
||||||
"symplify\/autowire-array-parameter": "<11.1.17",
|
"symplify\/autowire-array-parameter": "<11.1.18",
|
||||||
"symplify\/coding-standard": "<11.1.17",
|
"symplify\/coding-standard": "<11.1.18",
|
||||||
"symplify\/composer-json-manipulator": "<11.1.17",
|
"symplify\/composer-json-manipulator": "<11.1.18",
|
||||||
"symplify\/config-transformer": "<11.1.17",
|
"symplify\/config-transformer": "<11.1.18",
|
||||||
"symplify\/easy-ci": "<11.1.17",
|
"symplify\/easy-ci": "<11.1.18",
|
||||||
"symplify\/easy-coding-standard": "<11.1.17",
|
"symplify\/easy-coding-standard": "<11.1.18",
|
||||||
"symplify\/easy-parallel": "<11.1.17",
|
"symplify\/easy-parallel": "<11.1.18",
|
||||||
"symplify\/easy-testing": "<11.1.17",
|
"symplify\/easy-testing": "<11.1.18",
|
||||||
"symplify\/monorepo-builder": "<11.1.17",
|
"symplify\/monorepo-builder": "<11.1.18",
|
||||||
"symplify\/package-builder": "<11.1.17",
|
"symplify\/package-builder": "<11.1.18",
|
||||||
"symplify\/php-config-printer": "<11.1.17",
|
"symplify\/php-config-printer": "<11.1.18",
|
||||||
"symplify\/phpstan-extensions": "<11.1.17",
|
"symplify\/phpstan-extensions": "<11.1.18",
|
||||||
"symplify\/phpstan-rules": "<11.1.17",
|
"symplify\/phpstan-rules": "<11.1.18",
|
||||||
"symplify\/rule-doc-generator": "<11.1.17",
|
"symplify\/rule-doc-generator": "<11.1.18",
|
||||||
"symplify\/smart-file-system": "<11.1.17",
|
"symplify\/smart-file-system": "<11.1.18",
|
||||||
"symplify\/symfony-static-dumper": "<11.1.17",
|
"symplify\/symfony-static-dumper": "<11.1.18",
|
||||||
"symplify\/symplify-kernel": "<11.1.17",
|
"symplify\/symplify-kernel": "<11.1.18",
|
||||||
"symplify\/vendor-patches": "<11.1.17"
|
"symplify\/vendor-patches": "<11.1.18"
|
||||||
},
|
},
|
||||||
"time": "2022-11-10T15:23:14+00:00",
|
"time": "2022-12-16T14:04:58+00:00",
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
"branch-alias": {
|
||||||
|
@ -3096,7 +3161,7 @@
|
||||||
],
|
],
|
||||||
"description": "Contracts for production code of RuleDocGenerator",
|
"description": "Contracts for production code of RuleDocGenerator",
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https:\/\/github.com\/symplify\/rule-doc-generator-contracts\/tree\/11.1.17"
|
"source": "https:\/\/github.com\/symplify\/rule-doc-generator-contracts\/tree\/11.1.18"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
|
2
vendor/composer/installed.php
vendored
2
vendor/composer/installed.php
vendored
File diff suppressed because one or more lines are too long
16
vendor/fidry/cpu-core-counter/LICENSE.md
vendored
Normal file
16
vendor/fidry/cpu-core-counter/LICENSE.md
vendored
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
# The MIT License (MIT)
|
||||||
|
|
||||||
|
Copyright (c) 2022 Théo FIDRY <theo.fidry@gmail.com>
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
|
||||||
|
documentation files (the _Software_), to deal in the Software without restriction, including without limitation the
|
||||||
|
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit
|
||||||
|
persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
|
||||||
|
Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED **AS IS**, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
|
||||||
|
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||||
|
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
||||||
|
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
114
vendor/fidry/cpu-core-counter/README.md
vendored
Normal file
114
vendor/fidry/cpu-core-counter/README.md
vendored
Normal file
|
@ -0,0 +1,114 @@
|
||||||
|
# CPU Core Counter
|
||||||
|
|
||||||
|
This package is a tiny utility to get the number of CPU cores.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
composer require fidry/cpu-core-counter
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
```php
|
||||||
|
use Fidry\CpuCoreCounter\CpuCoreCounter;
|
||||||
|
use Fidry\CpuCoreCounter\NumberOfCpuCoreNotFound;
|
||||||
|
use Fidry\CpuCoreCounter\Finder\DummyCpuCoreFinder;
|
||||||
|
|
||||||
|
$counter = new CpuCoreCounter();
|
||||||
|
|
||||||
|
try {
|
||||||
|
$counter->getCount(); // e.g. 8
|
||||||
|
} catch (NumberOfCpuCoreNotFound) {
|
||||||
|
return 1; // Fallback value
|
||||||
|
}
|
||||||
|
|
||||||
|
// An alternative form where we not want to catch the exception:
|
||||||
|
|
||||||
|
$counter = new CpuCoreCounter([
|
||||||
|
...CpuCoreCounter::getDefaultFinders(),
|
||||||
|
new DummyCpuCoreFinder(1), // Fallback value
|
||||||
|
]);
|
||||||
|
|
||||||
|
$counter->getCount(); // e.g. 8
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
## Advanced usage
|
||||||
|
|
||||||
|
### Changing the finders
|
||||||
|
|
||||||
|
When creating `CpuCoreCounter`, you may want to change the order of the finders
|
||||||
|
used or disable a specific finder. You can easily do so by passing the finders
|
||||||
|
you want
|
||||||
|
|
||||||
|
```php
|
||||||
|
// Remove WindowsWmicFinder
|
||||||
|
$finders = array_filter(
|
||||||
|
CpuCoreCounter::getDefaultFinders(),
|
||||||
|
static fn (CpuCoreFinder $finder) => !($finder instanceof WindowsWmicFinder)
|
||||||
|
);
|
||||||
|
|
||||||
|
$cores = (new CpuCoreCounter($finders))->getCount();
|
||||||
|
```
|
||||||
|
|
||||||
|
```php
|
||||||
|
// Use CPUInfo first & don't use Nproc
|
||||||
|
$finders = [
|
||||||
|
new CpuInfoFinder(),
|
||||||
|
new WindowsWmicFinder(),
|
||||||
|
new HwLogicalFinder(),
|
||||||
|
];
|
||||||
|
|
||||||
|
$cores = (new CpuCoreCounter($finders))->getCount();
|
||||||
|
```
|
||||||
|
|
||||||
|
### Choosing only logical or physical finders
|
||||||
|
|
||||||
|
`FinderRegistry` provides two helpful entries:
|
||||||
|
|
||||||
|
- `::getDefaultLogicalFinders()`: gives an ordered list of finders that will
|
||||||
|
look for the _logical_ CPU cores count
|
||||||
|
- `::getDefaultPhysicalFinders()`: gives an ordered list of finders that will
|
||||||
|
look for the _physical_ CPU cores count
|
||||||
|
|
||||||
|
By default when using `CpuCoreCounter`, it will use the logical finders since
|
||||||
|
it is more likely what you are looking for and is what is used by PHP source to
|
||||||
|
build the PHP binary.
|
||||||
|
|
||||||
|
|
||||||
|
### Checks what finders find what on your system
|
||||||
|
|
||||||
|
You have two commands available that provides insight about what the finders
|
||||||
|
can find:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ make diagnosis # From this repository
|
||||||
|
$ ./vendor/fidry/cpu-core-counter/bin/diagnose.php # From the library
|
||||||
|
```
|
||||||
|
|
||||||
|
And:
|
||||||
|
```
|
||||||
|
$ make execute # From this repository
|
||||||
|
$ ./vendor/fidry/cpu-core-counter/bin/execute.php # From the library
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
## Backward Compatibility Promise (BCP)
|
||||||
|
|
||||||
|
The policy is for the major part following the same as [Symfony's one][symfony-bc-policy].
|
||||||
|
Note that the code marked as `@private` or `@internal` are excluded from the BCP.
|
||||||
|
|
||||||
|
The following elements are also excluded:
|
||||||
|
|
||||||
|
- The `diagnose` and `execute` commands: those are for debugging/inspection purposes only
|
||||||
|
- `FinderRegistry::get*Finders()`: new finders may be added or the order of finders changed at any time
|
||||||
|
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
This package is licensed using the MIT License.
|
||||||
|
|
||||||
|
Please have a look at [`LICENSE.md`](LICENSE.md).
|
||||||
|
|
||||||
|
[symfony-bc-policy]: https://symfony.com/doc/current/contributing/code/bc.html
|
18
vendor/fidry/cpu-core-counter/bin/diagnose.php
vendored
Normal file
18
vendor/fidry/cpu-core-counter/bin/diagnose.php
vendored
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
#!/usr/bin/env php
|
||||||
|
<?php
|
||||||
|
/*
|
||||||
|
* This file is part of the Fidry CPUCounter Config package.
|
||||||
|
*
|
||||||
|
* (c) Théo FIDRY <theo.fidry@gmail.com>
|
||||||
|
*
|
||||||
|
* For the full copyright and license information, please view the LICENSE
|
||||||
|
* file that was distributed with this source code.
|
||||||
|
*/
|
||||||
|
declare (strict_types=1);
|
||||||
|
namespace RectorPrefix202212;
|
||||||
|
|
||||||
|
use RectorPrefix202212\Fidry\CpuCoreCounter\Diagnoser;
|
||||||
|
use RectorPrefix202212\Fidry\CpuCoreCounter\Finder\FinderRegistry;
|
||||||
|
require_once __DIR__ . '/../vendor/autoload.php';
|
||||||
|
echo 'Running diagnosis...' . \PHP_EOL . \PHP_EOL;
|
||||||
|
echo Diagnoser::diagnose(FinderRegistry::getAllVariants()) . \PHP_EOL;
|
18
vendor/fidry/cpu-core-counter/bin/execute.php
vendored
Normal file
18
vendor/fidry/cpu-core-counter/bin/execute.php
vendored
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
#!/usr/bin/env php
|
||||||
|
<?php
|
||||||
|
/*
|
||||||
|
* This file is part of the Fidry CPUCounter Config package.
|
||||||
|
*
|
||||||
|
* (c) Théo FIDRY <theo.fidry@gmail.com>
|
||||||
|
*
|
||||||
|
* For the full copyright and license information, please view the LICENSE
|
||||||
|
* file that was distributed with this source code.
|
||||||
|
*/
|
||||||
|
declare (strict_types=1);
|
||||||
|
namespace RectorPrefix202212;
|
||||||
|
|
||||||
|
use RectorPrefix202212\Fidry\CpuCoreCounter\Diagnoser;
|
||||||
|
use RectorPrefix202212\Fidry\CpuCoreCounter\Finder\FinderRegistry;
|
||||||
|
require_once __DIR__ . '/../vendor/autoload.php';
|
||||||
|
echo 'Executing finders...' . \PHP_EOL . \PHP_EOL;
|
||||||
|
echo Diagnoser::execute(FinderRegistry::getAllVariants()) . \PHP_EOL;
|
48
vendor/fidry/cpu-core-counter/composer.json
vendored
Normal file
48
vendor/fidry/cpu-core-counter/composer.json
vendored
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
{
|
||||||
|
"name": "fidry\/cpu-core-counter",
|
||||||
|
"description": "Tiny utility to get the number of CPU cores.",
|
||||||
|
"license": "MIT",
|
||||||
|
"type": "library",
|
||||||
|
"keywords": [
|
||||||
|
"cpu",
|
||||||
|
"core"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Th\u00e9o FIDRY",
|
||||||
|
"email": "theo.fidry@gmail.com"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"require": {
|
||||||
|
"php": "^7.2 || ^8.0"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"fidry\/makefile": "^0.2.0",
|
||||||
|
"phpstan\/extension-installer": "^1.2.0",
|
||||||
|
"phpstan\/phpstan": "^1.9.2",
|
||||||
|
"phpstan\/phpstan-deprecation-rules": "^1.0.0",
|
||||||
|
"phpstan\/phpstan-phpunit": "^1.2.2",
|
||||||
|
"phpstan\/phpstan-strict-rules": "^1.4.4",
|
||||||
|
"phpunit\/phpunit": "^9.5.26 || ^8.5.31",
|
||||||
|
"theofidry\/php-cs-fixer-config": "^1.0",
|
||||||
|
"webmozarts\/strict-phpunit": "^7.5"
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"RectorPrefix202212\\Fidry\\CpuCoreCounter\\": "src\/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload-dev": {
|
||||||
|
"psr-4": {
|
||||||
|
"RectorPrefix202212\\Fidry\\CpuCoreCounter\\Test\\": "tests\/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"config": {
|
||||||
|
"allow-plugins": {
|
||||||
|
"ergebnis\/composer-normalize": true,
|
||||||
|
"infection\/extension-installer": true,
|
||||||
|
"phpstan\/extension-installer": true
|
||||||
|
},
|
||||||
|
"sort-packages": true
|
||||||
|
}
|
||||||
|
}
|
76
vendor/fidry/cpu-core-counter/src/CpuCoreCounter.php
vendored
Normal file
76
vendor/fidry/cpu-core-counter/src/CpuCoreCounter.php
vendored
Normal file
|
@ -0,0 +1,76 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of the Fidry CPUCounter Config package.
|
||||||
|
*
|
||||||
|
* (c) Théo FIDRY <theo.fidry@gmail.com>
|
||||||
|
*
|
||||||
|
* For the full copyright and license information, please view the LICENSE
|
||||||
|
* file that was distributed with this source code.
|
||||||
|
*/
|
||||||
|
declare (strict_types=1);
|
||||||
|
namespace RectorPrefix202212\Fidry\CpuCoreCounter;
|
||||||
|
|
||||||
|
use RectorPrefix202212\Fidry\CpuCoreCounter\Finder\CpuCoreFinder;
|
||||||
|
use RectorPrefix202212\Fidry\CpuCoreCounter\Finder\FinderRegistry;
|
||||||
|
final class CpuCoreCounter
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @var list<CpuCoreFinder>
|
||||||
|
*/
|
||||||
|
private $finders;
|
||||||
|
/**
|
||||||
|
* @var positive-int|null
|
||||||
|
*/
|
||||||
|
private $count;
|
||||||
|
/**
|
||||||
|
* @param list<CpuCoreFinder>|null $finders
|
||||||
|
*/
|
||||||
|
public function __construct(?array $finders = null)
|
||||||
|
{
|
||||||
|
$this->finders = $finders ?? FinderRegistry::getDefaultLogicalFinders();
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* @throws NumberOfCpuCoreNotFound
|
||||||
|
*
|
||||||
|
* @return positive-int
|
||||||
|
*/
|
||||||
|
public function getCount() : int
|
||||||
|
{
|
||||||
|
// Memoize result
|
||||||
|
if (null === $this->count) {
|
||||||
|
$this->count = $this->findCount();
|
||||||
|
}
|
||||||
|
return $this->count;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* @throws NumberOfCpuCoreNotFound
|
||||||
|
*
|
||||||
|
* @return positive-int
|
||||||
|
*/
|
||||||
|
private function findCount() : int
|
||||||
|
{
|
||||||
|
foreach ($this->finders as $finder) {
|
||||||
|
$cores = $finder->find();
|
||||||
|
if (null !== $cores) {
|
||||||
|
return $cores;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
throw NumberOfCpuCoreNotFound::create();
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* @throws NumberOfCpuCoreNotFound
|
||||||
|
*
|
||||||
|
* @return array{CpuCoreFinder, positive-int}
|
||||||
|
*/
|
||||||
|
public function getFinderAndCores() : array
|
||||||
|
{
|
||||||
|
foreach ($this->finders as $finder) {
|
||||||
|
$cores = $finder->find();
|
||||||
|
if (null !== $cores) {
|
||||||
|
return [$finder, $cores];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
throw NumberOfCpuCoreNotFound::create();
|
||||||
|
}
|
||||||
|
}
|
63
vendor/fidry/cpu-core-counter/src/Diagnoser.php
vendored
Normal file
63
vendor/fidry/cpu-core-counter/src/Diagnoser.php
vendored
Normal file
|
@ -0,0 +1,63 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of the Fidry CPUCounter Config package.
|
||||||
|
*
|
||||||
|
* (c) Théo FIDRY <theo.fidry@gmail.com>
|
||||||
|
*
|
||||||
|
* For the full copyright and license information, please view the LICENSE
|
||||||
|
* file that was distributed with this source code.
|
||||||
|
*/
|
||||||
|
declare (strict_types=1);
|
||||||
|
namespace RectorPrefix202212\Fidry\CpuCoreCounter;
|
||||||
|
|
||||||
|
use RectorPrefix202212\Fidry\CpuCoreCounter\Finder\CpuCoreFinder;
|
||||||
|
use function array_map;
|
||||||
|
use function explode;
|
||||||
|
use function implode;
|
||||||
|
use function max;
|
||||||
|
use function str_repeat;
|
||||||
|
use const PHP_EOL;
|
||||||
|
/**
|
||||||
|
* Utility to debug.
|
||||||
|
*
|
||||||
|
* @private
|
||||||
|
*/
|
||||||
|
final class Diagnoser
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Provides an aggregated diagnosis based on each finders diagnosis.
|
||||||
|
*
|
||||||
|
* @param list<CpuCoreFinder> $finders
|
||||||
|
*/
|
||||||
|
public static function diagnose(array $finders) : string
|
||||||
|
{
|
||||||
|
$diagnoses = array_map(static function (CpuCoreFinder $finder) : string {
|
||||||
|
return self::diagnoseFinder($finder);
|
||||||
|
}, $finders);
|
||||||
|
return implode(PHP_EOL, $diagnoses);
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Executes each finders.
|
||||||
|
*
|
||||||
|
* @param list<CpuCoreFinder> $finders
|
||||||
|
*/
|
||||||
|
public static function execute(array $finders) : string
|
||||||
|
{
|
||||||
|
$diagnoses = array_map(static function (CpuCoreFinder $finder) : string {
|
||||||
|
$coresCount = $finder->find();
|
||||||
|
return implode('', [$finder->toString(), ': ', null === $coresCount ? 'NULL' : $coresCount]);
|
||||||
|
}, $finders);
|
||||||
|
return implode(PHP_EOL, $diagnoses);
|
||||||
|
}
|
||||||
|
private static function diagnoseFinder(CpuCoreFinder $finder) : string
|
||||||
|
{
|
||||||
|
$diagnosis = $finder->diagnose();
|
||||||
|
$maxLineLength = max(array_map('strlen', explode(PHP_EOL, $diagnosis)));
|
||||||
|
$separator = str_repeat('-', $maxLineLength);
|
||||||
|
return implode('', [$finder->toString() . ':' . PHP_EOL, $separator . PHP_EOL, $diagnosis . PHP_EOL, $separator . PHP_EOL]);
|
||||||
|
}
|
||||||
|
private function __construct()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
45
vendor/fidry/cpu-core-counter/src/Exec/ProcOpen.php
vendored
Normal file
45
vendor/fidry/cpu-core-counter/src/Exec/ProcOpen.php
vendored
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of the Fidry CPUCounter Config package.
|
||||||
|
*
|
||||||
|
* (c) Théo FIDRY <theo.fidry@gmail.com>
|
||||||
|
*
|
||||||
|
* For the full copyright and license information, please view the LICENSE
|
||||||
|
* file that was distributed with this source code.
|
||||||
|
*/
|
||||||
|
declare (strict_types=1);
|
||||||
|
namespace RectorPrefix202212\Fidry\CpuCoreCounter\Exec;
|
||||||
|
|
||||||
|
use function fclose;
|
||||||
|
use function is_resource;
|
||||||
|
use function proc_close;
|
||||||
|
use function proc_open;
|
||||||
|
use function stream_get_contents;
|
||||||
|
final class ProcOpen
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @return array{string, string} STDOUT & STDERR tuple
|
||||||
|
*/
|
||||||
|
public static function execute(string $command) : ?array
|
||||||
|
{
|
||||||
|
$pipes = [];
|
||||||
|
$process = @proc_open($command, [
|
||||||
|
['pipe', 'rb'],
|
||||||
|
['pipe', 'wb'],
|
||||||
|
// stdout
|
||||||
|
['pipe', 'wb'],
|
||||||
|
], $pipes);
|
||||||
|
if (!is_resource($process)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
fclose($pipes[0]);
|
||||||
|
$stdout = (string) stream_get_contents($pipes[1]);
|
||||||
|
$stderr = (string) stream_get_contents($pipes[2]);
|
||||||
|
proc_close($process);
|
||||||
|
return [$stdout, $stderr];
|
||||||
|
}
|
||||||
|
private function __construct()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
33
vendor/fidry/cpu-core-counter/src/Finder/CpuCoreFinder.php
vendored
Normal file
33
vendor/fidry/cpu-core-counter/src/Finder/CpuCoreFinder.php
vendored
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of the Fidry CPUCounter Config package.
|
||||||
|
*
|
||||||
|
* (c) Théo FIDRY <theo.fidry@gmail.com>
|
||||||
|
*
|
||||||
|
* For the full copyright and license information, please view the LICENSE
|
||||||
|
* file that was distributed with this source code.
|
||||||
|
*/
|
||||||
|
declare (strict_types=1);
|
||||||
|
namespace RectorPrefix202212\Fidry\CpuCoreCounter\Finder;
|
||||||
|
|
||||||
|
interface CpuCoreFinder
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Provides an explanation which may offer some insight as to what the finder
|
||||||
|
* will be able to find.
|
||||||
|
*
|
||||||
|
* This is practical to have an idea of what each finder will find collect
|
||||||
|
* information for the unit tests, since integration tests are quite complicated
|
||||||
|
* as dependent on complex infrastructures.
|
||||||
|
*/
|
||||||
|
public function diagnose() : string;
|
||||||
|
/**
|
||||||
|
* Find the number of CPU cores. If it could not find it, returns null. The
|
||||||
|
* means used to find the cores are at the implementation discretion.
|
||||||
|
*
|
||||||
|
* @return positive-int|null
|
||||||
|
*/
|
||||||
|
public function find() : ?int;
|
||||||
|
public function toString() : string;
|
||||||
|
}
|
70
vendor/fidry/cpu-core-counter/src/Finder/CpuInfoFinder.php
vendored
Normal file
70
vendor/fidry/cpu-core-counter/src/Finder/CpuInfoFinder.php
vendored
Normal file
|
@ -0,0 +1,70 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of the Fidry CPUCounter Config package.
|
||||||
|
*
|
||||||
|
* (c) Théo FIDRY <theo.fidry@gmail.com>
|
||||||
|
*
|
||||||
|
* For the full copyright and license information, please view the LICENSE
|
||||||
|
* file that was distributed with this source code.
|
||||||
|
*/
|
||||||
|
declare (strict_types=1);
|
||||||
|
namespace RectorPrefix202212\Fidry\CpuCoreCounter\Finder;
|
||||||
|
|
||||||
|
use function file_get_contents;
|
||||||
|
use function is_file;
|
||||||
|
use function sprintf;
|
||||||
|
use function substr_count;
|
||||||
|
use const PHP_EOL;
|
||||||
|
/**
|
||||||
|
* Find the number of CPU cores looking up at the cpuinfo file which is available
|
||||||
|
* on Linux systems and Windows systems with a Linux sub-system.
|
||||||
|
*
|
||||||
|
* @see https://github.com/paratestphp/paratest/blob/c163539818fd96308ca8dc60f46088461e366ed4/src/Runners/PHPUnit/Options.php#L903-L909
|
||||||
|
* @see https://unix.stackexchange.com/questions/146051/number-of-processors-in-proc-cpuinfo
|
||||||
|
*/
|
||||||
|
final class CpuInfoFinder implements CpuCoreFinder
|
||||||
|
{
|
||||||
|
private const CPU_INFO_PATH = '/proc/cpuinfo';
|
||||||
|
public function diagnose() : string
|
||||||
|
{
|
||||||
|
if (!is_file(self::CPU_INFO_PATH)) {
|
||||||
|
return sprintf('The file "%s" could not be found.', self::CPU_INFO_PATH);
|
||||||
|
}
|
||||||
|
$cpuInfo = file_get_contents(self::CPU_INFO_PATH);
|
||||||
|
if (\false === $cpuInfo) {
|
||||||
|
return sprintf('Could not get the content of the file "%s".', self::CPU_INFO_PATH);
|
||||||
|
}
|
||||||
|
return sprintf('Found the file "%s" with the content:%s%s', self::CPU_INFO_PATH, PHP_EOL, $cpuInfo);
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* @return positive-int|null
|
||||||
|
*/
|
||||||
|
public function find() : ?int
|
||||||
|
{
|
||||||
|
$cpuInfo = self::getCpuInfo();
|
||||||
|
return null === $cpuInfo ? null : self::countCpuCores($cpuInfo);
|
||||||
|
}
|
||||||
|
public function toString() : string
|
||||||
|
{
|
||||||
|
return 'CpuInfoFinder';
|
||||||
|
}
|
||||||
|
private static function getCpuInfo() : ?string
|
||||||
|
{
|
||||||
|
if (!@is_file(self::CPU_INFO_PATH)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
$cpuInfo = @file_get_contents(self::CPU_INFO_PATH);
|
||||||
|
return \false === $cpuInfo ? null : $cpuInfo;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* @internal
|
||||||
|
*
|
||||||
|
* @return positive-int|null
|
||||||
|
*/
|
||||||
|
public static function countCpuCores(string $cpuInfo) : ?int
|
||||||
|
{
|
||||||
|
$processorCount = substr_count($cpuInfo, 'processor');
|
||||||
|
return $processorCount > 0 ? $processorCount : null;
|
||||||
|
}
|
||||||
|
}
|
44
vendor/fidry/cpu-core-counter/src/Finder/DummyCpuCoreFinder.php
vendored
Normal file
44
vendor/fidry/cpu-core-counter/src/Finder/DummyCpuCoreFinder.php
vendored
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of the Fidry CPUCounter Config package.
|
||||||
|
*
|
||||||
|
* (c) Théo FIDRY <theo.fidry@gmail.com>
|
||||||
|
*
|
||||||
|
* For the full copyright and license information, please view the LICENSE
|
||||||
|
* file that was distributed with this source code.
|
||||||
|
*/
|
||||||
|
declare (strict_types=1);
|
||||||
|
namespace RectorPrefix202212\Fidry\CpuCoreCounter\Finder;
|
||||||
|
|
||||||
|
use function sprintf;
|
||||||
|
/**
|
||||||
|
* This finder returns whatever value you gave to it. This is useful for testing
|
||||||
|
* or as a fallback to avoid to catch the NumberOfCpuCoreNotFound exception.
|
||||||
|
*/
|
||||||
|
final class DummyCpuCoreFinder implements CpuCoreFinder
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @var positive-int
|
||||||
|
*/
|
||||||
|
private $count;
|
||||||
|
public function diagnose() : string
|
||||||
|
{
|
||||||
|
return sprintf('Will return "%d".', $this->count);
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* @param positive-int $count
|
||||||
|
*/
|
||||||
|
public function __construct(int $count)
|
||||||
|
{
|
||||||
|
$this->count = $count;
|
||||||
|
}
|
||||||
|
public function find() : ?int
|
||||||
|
{
|
||||||
|
return $this->count;
|
||||||
|
}
|
||||||
|
public function toString() : string
|
||||||
|
{
|
||||||
|
return sprintf('DummyCpuCoreFinder(value=%d)', $this->count);
|
||||||
|
}
|
||||||
|
}
|
40
vendor/fidry/cpu-core-counter/src/Finder/FinderRegistry.php
vendored
Normal file
40
vendor/fidry/cpu-core-counter/src/Finder/FinderRegistry.php
vendored
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of the Fidry CPUCounter Config package.
|
||||||
|
*
|
||||||
|
* (c) Théo FIDRY <theo.fidry@gmail.com>
|
||||||
|
*
|
||||||
|
* For the full copyright and license information, please view the LICENSE
|
||||||
|
* file that was distributed with this source code.
|
||||||
|
*/
|
||||||
|
declare (strict_types=1);
|
||||||
|
namespace RectorPrefix202212\Fidry\CpuCoreCounter\Finder;
|
||||||
|
|
||||||
|
final class FinderRegistry
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @return list<CpuCoreFinder> List of all the known finders with all their variants.
|
||||||
|
*/
|
||||||
|
public static function getAllVariants() : array
|
||||||
|
{
|
||||||
|
return [new CpuInfoFinder(), new DummyCpuCoreFinder(1), new HwLogicalFinder(), new HwPhysicalFinder(), new _NProcessorFinder(), new NProcessorFinder(), new NProcFinder(\true), new NProcFinder(\false), new NullCpuCoreFinder(), new OnlyOnWindowsFinder(new DummyCpuCoreFinder(1)), new SkipOnWindowsFinder(new DummyCpuCoreFinder(1)), new WmicPhysicalFinder(), new WmicLogicalFinder()];
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* @return list<CpuCoreFinder>
|
||||||
|
*/
|
||||||
|
public static function getDefaultLogicalFinders() : array
|
||||||
|
{
|
||||||
|
return [new OnlyOnWindowsFinder(new WmicLogicalFinder()), new NProcFinder(), new HwLogicalFinder(), new _NProcessorFinder(), new NProcessorFinder(), new CpuInfoFinder()];
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* @return list<CpuCoreFinder>
|
||||||
|
*/
|
||||||
|
public static function getDefaultPhysicalFinders() : array
|
||||||
|
{
|
||||||
|
return [new OnlyOnWindowsFinder(new WmicPhysicalFinder()), new HwPhysicalFinder()];
|
||||||
|
}
|
||||||
|
private function __construct()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
30
vendor/fidry/cpu-core-counter/src/Finder/HwLogicalFinder.php
vendored
Normal file
30
vendor/fidry/cpu-core-counter/src/Finder/HwLogicalFinder.php
vendored
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of the Fidry CPUCounter Config package.
|
||||||
|
*
|
||||||
|
* (c) Théo FIDRY <theo.fidry@gmail.com>
|
||||||
|
*
|
||||||
|
* For the full copyright and license information, please view the LICENSE
|
||||||
|
* file that was distributed with this source code.
|
||||||
|
*/
|
||||||
|
declare (strict_types=1);
|
||||||
|
namespace RectorPrefix202212\Fidry\CpuCoreCounter\Finder;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Find the number of logical CPU cores for Linux, BSD and OSX.
|
||||||
|
*
|
||||||
|
* @see https://github.com/paratestphp/paratest/blob/c163539818fd96308ca8dc60f46088461e366ed4/src/Runners/PHPUnit/Options.php#L903-L909
|
||||||
|
* @see https://opensource.apple.com/source/xnu/xnu-792.2.4/libkern/libkern/sysctl.h.auto.html
|
||||||
|
*/
|
||||||
|
final class HwLogicalFinder extends ProcOpenBasedFinder
|
||||||
|
{
|
||||||
|
protected function getCommand() : string
|
||||||
|
{
|
||||||
|
return 'sysctl -n hw.logicalcpu';
|
||||||
|
}
|
||||||
|
public function toString() : string
|
||||||
|
{
|
||||||
|
return 'HwLogicalFinder';
|
||||||
|
}
|
||||||
|
}
|
30
vendor/fidry/cpu-core-counter/src/Finder/HwPhysicalFinder.php
vendored
Normal file
30
vendor/fidry/cpu-core-counter/src/Finder/HwPhysicalFinder.php
vendored
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of the Fidry CPUCounter Config package.
|
||||||
|
*
|
||||||
|
* (c) Théo FIDRY <theo.fidry@gmail.com>
|
||||||
|
*
|
||||||
|
* For the full copyright and license information, please view the LICENSE
|
||||||
|
* file that was distributed with this source code.
|
||||||
|
*/
|
||||||
|
declare (strict_types=1);
|
||||||
|
namespace RectorPrefix202212\Fidry\CpuCoreCounter\Finder;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Find the number of physical CPU cores for Linux, BSD and OSX.
|
||||||
|
*
|
||||||
|
* @see https://github.com/paratestphp/paratest/blob/c163539818fd96308ca8dc60f46088461e366ed4/src/Runners/PHPUnit/Options.php#L903-L909
|
||||||
|
* @see https://opensource.apple.com/source/xnu/xnu-792.2.4/libkern/libkern/sysctl.h.auto.html
|
||||||
|
*/
|
||||||
|
final class HwPhysicalFinder extends ProcOpenBasedFinder
|
||||||
|
{
|
||||||
|
protected function getCommand() : string
|
||||||
|
{
|
||||||
|
return 'sysctl -n hw.physicalcpu';
|
||||||
|
}
|
||||||
|
public function toString() : string
|
||||||
|
{
|
||||||
|
return 'HwPhysicalFinder';
|
||||||
|
}
|
||||||
|
}
|
53
vendor/fidry/cpu-core-counter/src/Finder/NProcFinder.php
vendored
Normal file
53
vendor/fidry/cpu-core-counter/src/Finder/NProcFinder.php
vendored
Normal file
|
@ -0,0 +1,53 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of the Fidry CPUCounter Config package.
|
||||||
|
*
|
||||||
|
* (c) Théo FIDRY <theo.fidry@gmail.com>
|
||||||
|
*
|
||||||
|
* For the full copyright and license information, please view the LICENSE
|
||||||
|
* file that was distributed with this source code.
|
||||||
|
*/
|
||||||
|
declare (strict_types=1);
|
||||||
|
namespace RectorPrefix202212\Fidry\CpuCoreCounter\Finder;
|
||||||
|
|
||||||
|
use function filter_var;
|
||||||
|
use function is_int;
|
||||||
|
use function sprintf;
|
||||||
|
use const FILTER_VALIDATE_INT;
|
||||||
|
/**
|
||||||
|
* The number of (logical) cores.
|
||||||
|
*
|
||||||
|
* @see https://github.com/infection/infection/blob/fbd8c44/src/Resource/Processor/CpuCoresCountProvider.php#L69-L82
|
||||||
|
* @see https://unix.stackexchange.com/questions/146051/number-of-processors-in-proc-cpuinfo
|
||||||
|
*/
|
||||||
|
final class NProcFinder extends ProcOpenBasedFinder
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @var bool
|
||||||
|
*/
|
||||||
|
private $all;
|
||||||
|
/**
|
||||||
|
* @param bool $all If disabled will give the number of cores available for the current process only.
|
||||||
|
*/
|
||||||
|
public function __construct(bool $all = \true)
|
||||||
|
{
|
||||||
|
$this->all = $all;
|
||||||
|
}
|
||||||
|
public function toString() : string
|
||||||
|
{
|
||||||
|
return sprintf('NProcFinder(all=%s)', $this->all ? 'true' : 'false');
|
||||||
|
}
|
||||||
|
protected function getCommand() : string
|
||||||
|
{
|
||||||
|
return 'nproc' . ($this->all ? ' --all' : '') . ' 2>&1';
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* @return positive-int|null
|
||||||
|
*/
|
||||||
|
public static function countCpuCores(string $nproc) : ?int
|
||||||
|
{
|
||||||
|
$cpuCount = filter_var($nproc, FILTER_VALIDATE_INT);
|
||||||
|
return is_int($cpuCount) && $cpuCount > 0 ? $cpuCount : null;
|
||||||
|
}
|
||||||
|
}
|
29
vendor/fidry/cpu-core-counter/src/Finder/NProcessorFinder.php
vendored
Normal file
29
vendor/fidry/cpu-core-counter/src/Finder/NProcessorFinder.php
vendored
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of the Fidry CPUCounter Config package.
|
||||||
|
*
|
||||||
|
* (c) Théo FIDRY <theo.fidry@gmail.com>
|
||||||
|
*
|
||||||
|
* For the full copyright and license information, please view the LICENSE
|
||||||
|
* file that was distributed with this source code.
|
||||||
|
*/
|
||||||
|
declare (strict_types=1);
|
||||||
|
namespace RectorPrefix202212\Fidry\CpuCoreCounter\Finder;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Find the number of logical CPU cores for FreeSBD, Solaris and the likes.
|
||||||
|
*
|
||||||
|
* @see https://twitter.com/freebsdfrau/status/1052016199452700678?s=20&t=M2pHkRqmmna-UF68lfL2hw
|
||||||
|
*/
|
||||||
|
final class NProcessorFinder extends ProcOpenBasedFinder
|
||||||
|
{
|
||||||
|
protected function getCommand() : string
|
||||||
|
{
|
||||||
|
return 'getconf NPROCESSORS_ONLN';
|
||||||
|
}
|
||||||
|
public function toString() : string
|
||||||
|
{
|
||||||
|
return 'NProcessorFinder';
|
||||||
|
}
|
||||||
|
}
|
31
vendor/fidry/cpu-core-counter/src/Finder/NullCpuCoreFinder.php
vendored
Normal file
31
vendor/fidry/cpu-core-counter/src/Finder/NullCpuCoreFinder.php
vendored
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of the Fidry CPUCounter Config package.
|
||||||
|
*
|
||||||
|
* (c) Théo FIDRY <theo.fidry@gmail.com>
|
||||||
|
*
|
||||||
|
* For the full copyright and license information, please view the LICENSE
|
||||||
|
* file that was distributed with this source code.
|
||||||
|
*/
|
||||||
|
declare (strict_types=1);
|
||||||
|
namespace RectorPrefix202212\Fidry\CpuCoreCounter\Finder;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This finder returns whatever value you gave to it. This is useful for testing.
|
||||||
|
*/
|
||||||
|
final class NullCpuCoreFinder implements CpuCoreFinder
|
||||||
|
{
|
||||||
|
public function diagnose() : string
|
||||||
|
{
|
||||||
|
return 'Will return "null".';
|
||||||
|
}
|
||||||
|
public function find() : ?int
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
public function toString() : string
|
||||||
|
{
|
||||||
|
return 'NullCpuCoreFinder';
|
||||||
|
}
|
||||||
|
}
|
44
vendor/fidry/cpu-core-counter/src/Finder/OnlyOnWindowsFinder.php
vendored
Normal file
44
vendor/fidry/cpu-core-counter/src/Finder/OnlyOnWindowsFinder.php
vendored
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of the Fidry CPUCounter Config package.
|
||||||
|
*
|
||||||
|
* (c) Théo FIDRY <theo.fidry@gmail.com>
|
||||||
|
*
|
||||||
|
* For the full copyright and license information, please view the LICENSE
|
||||||
|
* file that was distributed with this source code.
|
||||||
|
*/
|
||||||
|
declare (strict_types=1);
|
||||||
|
namespace RectorPrefix202212\Fidry\CpuCoreCounter\Finder;
|
||||||
|
|
||||||
|
use function defined;
|
||||||
|
use function sprintf;
|
||||||
|
final class OnlyOnWindowsFinder implements CpuCoreFinder
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @var CpuCoreFinder
|
||||||
|
*/
|
||||||
|
private $decoratedFinder;
|
||||||
|
public function __construct(CpuCoreFinder $decoratedFinder)
|
||||||
|
{
|
||||||
|
$this->decoratedFinder = $decoratedFinder;
|
||||||
|
}
|
||||||
|
public function diagnose() : string
|
||||||
|
{
|
||||||
|
return self::skip() ? 'Non-windows platform detected (PHP_WINDOWS_VERSION_MAJOR is not set).' : $this->decoratedFinder->diagnose();
|
||||||
|
}
|
||||||
|
public function find() : ?int
|
||||||
|
{
|
||||||
|
return self::skip() ? null : $this->decoratedFinder->find();
|
||||||
|
}
|
||||||
|
public function toString() : string
|
||||||
|
{
|
||||||
|
return sprintf('OnlyOnWindowsFinder(%s)', $this->decoratedFinder->toString());
|
||||||
|
}
|
||||||
|
private static function skip() : bool
|
||||||
|
{
|
||||||
|
// Skip if not on Windows. Rely on PHP to detect the platform
|
||||||
|
// rather than reading the platform name or others.
|
||||||
|
return !defined('PHP_WINDOWS_VERSION_MAJOR');
|
||||||
|
}
|
||||||
|
}
|
65
vendor/fidry/cpu-core-counter/src/Finder/ProcOpenBasedFinder.php
vendored
Normal file
65
vendor/fidry/cpu-core-counter/src/Finder/ProcOpenBasedFinder.php
vendored
Normal file
|
@ -0,0 +1,65 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of the Fidry CPUCounter Config package.
|
||||||
|
*
|
||||||
|
* (c) Théo FIDRY <theo.fidry@gmail.com>
|
||||||
|
*
|
||||||
|
* For the full copyright and license information, please view the LICENSE
|
||||||
|
* file that was distributed with this source code.
|
||||||
|
*/
|
||||||
|
declare (strict_types=1);
|
||||||
|
namespace RectorPrefix202212\Fidry\CpuCoreCounter\Finder;
|
||||||
|
|
||||||
|
use RectorPrefix202212\Fidry\CpuCoreCounter\Exec\ProcOpen;
|
||||||
|
use function filter_var;
|
||||||
|
use function function_exists;
|
||||||
|
use function is_int;
|
||||||
|
use function sprintf;
|
||||||
|
use function trim;
|
||||||
|
use const FILTER_VALIDATE_INT;
|
||||||
|
use const PHP_EOL;
|
||||||
|
abstract class ProcOpenBasedFinder implements CpuCoreFinder
|
||||||
|
{
|
||||||
|
public function diagnose() : string
|
||||||
|
{
|
||||||
|
if (!function_exists('proc_open')) {
|
||||||
|
return 'The function "proc_open" is not available.';
|
||||||
|
}
|
||||||
|
$command = $this->getCommand();
|
||||||
|
$output = ProcOpen::execute($command);
|
||||||
|
if (null === $output) {
|
||||||
|
return sprintf('Failed to execute the command "%s".', $command);
|
||||||
|
}
|
||||||
|
[$stdout, $stderr] = $output;
|
||||||
|
$failed = '' !== trim($stderr);
|
||||||
|
return $failed ? sprintf('Executed the command "%s" which wrote the following output to the STDERR:%s%s', $command, PHP_EOL, $stderr) : sprintf('Executed the command "%s" and got the following (STDOUT) output:%s%s', $command, PHP_EOL, $stdout);
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* @return positive-int|null
|
||||||
|
*/
|
||||||
|
public function find() : ?int
|
||||||
|
{
|
||||||
|
if (!function_exists('proc_open')) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
$output = ProcOpen::execute($this->getCommand());
|
||||||
|
if (null === $output) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
[$stdout, $stderr] = $output;
|
||||||
|
$failed = '' !== trim($stderr);
|
||||||
|
return $failed ? null : self::countCpuCores($stdout);
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* @internal
|
||||||
|
*
|
||||||
|
* @return positive-int|null
|
||||||
|
*/
|
||||||
|
public static function countCpuCores(string $process) : ?int
|
||||||
|
{
|
||||||
|
$cpuCount = filter_var($process, FILTER_VALIDATE_INT);
|
||||||
|
return is_int($cpuCount) && $cpuCount > 0 ? $cpuCount : null;
|
||||||
|
}
|
||||||
|
protected abstract function getCommand() : string;
|
||||||
|
}
|
44
vendor/fidry/cpu-core-counter/src/Finder/SkipOnWindowsFinder.php
vendored
Normal file
44
vendor/fidry/cpu-core-counter/src/Finder/SkipOnWindowsFinder.php
vendored
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of the Fidry CPUCounter Config package.
|
||||||
|
*
|
||||||
|
* (c) Théo FIDRY <theo.fidry@gmail.com>
|
||||||
|
*
|
||||||
|
* For the full copyright and license information, please view the LICENSE
|
||||||
|
* file that was distributed with this source code.
|
||||||
|
*/
|
||||||
|
declare (strict_types=1);
|
||||||
|
namespace RectorPrefix202212\Fidry\CpuCoreCounter\Finder;
|
||||||
|
|
||||||
|
use function defined;
|
||||||
|
use function sprintf;
|
||||||
|
final class SkipOnWindowsFinder implements CpuCoreFinder
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @var CpuCoreFinder
|
||||||
|
*/
|
||||||
|
private $decoratedFinder;
|
||||||
|
public function __construct(CpuCoreFinder $decoratedFinder)
|
||||||
|
{
|
||||||
|
$this->decoratedFinder = $decoratedFinder;
|
||||||
|
}
|
||||||
|
public function diagnose() : string
|
||||||
|
{
|
||||||
|
return self::skip() ? 'Windows platform detected (PHP_WINDOWS_VERSION_MAJOR is set).' : $this->decoratedFinder->diagnose();
|
||||||
|
}
|
||||||
|
public function find() : ?int
|
||||||
|
{
|
||||||
|
return self::skip() ? null : $this->decoratedFinder->find();
|
||||||
|
}
|
||||||
|
public function toString() : string
|
||||||
|
{
|
||||||
|
return sprintf('SkipOnWindowsFinder(%s)', $this->decoratedFinder->toString());
|
||||||
|
}
|
||||||
|
private static function skip() : bool
|
||||||
|
{
|
||||||
|
// Skip if on Windows. Rely on PHP to detect the platform
|
||||||
|
// rather than reading the platform name or others.
|
||||||
|
return defined('PHP_WINDOWS_VERSION_MAJOR');
|
||||||
|
}
|
||||||
|
}
|
39
vendor/fidry/cpu-core-counter/src/Finder/WmicLogicalFinder.php
vendored
Normal file
39
vendor/fidry/cpu-core-counter/src/Finder/WmicLogicalFinder.php
vendored
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of the Fidry CPUCounter Config package.
|
||||||
|
*
|
||||||
|
* (c) Théo FIDRY <theo.fidry@gmail.com>
|
||||||
|
*
|
||||||
|
* For the full copyright and license information, please view the LICENSE
|
||||||
|
* file that was distributed with this source code.
|
||||||
|
*/
|
||||||
|
declare (strict_types=1);
|
||||||
|
namespace RectorPrefix202212\Fidry\CpuCoreCounter\Finder;
|
||||||
|
|
||||||
|
use function preg_match;
|
||||||
|
/**
|
||||||
|
* Find the number of logical CPU cores for Windows.
|
||||||
|
*
|
||||||
|
* @see https://github.com/paratestphp/paratest/blob/c163539818fd96308ca8dc60f46088461e366ed4/src/Runners/PHPUnit/Options.php#L912-L916
|
||||||
|
*/
|
||||||
|
final class WmicLogicalFinder extends ProcOpenBasedFinder
|
||||||
|
{
|
||||||
|
private const CPU_CORE_COUNT_REGEX = '/NumberOfLogicalProcessors[\\s\\n]+(?<count>\\d+)/';
|
||||||
|
protected function getCommand() : string
|
||||||
|
{
|
||||||
|
return 'wmic cpu get NumberOfLogicalProcessors';
|
||||||
|
}
|
||||||
|
public function toString() : string
|
||||||
|
{
|
||||||
|
return 'WmicLogicalFinder';
|
||||||
|
}
|
||||||
|
public static function countCpuCores(string $process) : ?int
|
||||||
|
{
|
||||||
|
if (0 === preg_match(self::CPU_CORE_COUNT_REGEX, $process, $matches)) {
|
||||||
|
return parent::countCpuCores($process);
|
||||||
|
}
|
||||||
|
$count = $matches['count'];
|
||||||
|
return parent::countCpuCores($count);
|
||||||
|
}
|
||||||
|
}
|
39
vendor/fidry/cpu-core-counter/src/Finder/WmicPhysicalFinder.php
vendored
Normal file
39
vendor/fidry/cpu-core-counter/src/Finder/WmicPhysicalFinder.php
vendored
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of the Fidry CPUCounter Config package.
|
||||||
|
*
|
||||||
|
* (c) Théo FIDRY <theo.fidry@gmail.com>
|
||||||
|
*
|
||||||
|
* For the full copyright and license information, please view the LICENSE
|
||||||
|
* file that was distributed with this source code.
|
||||||
|
*/
|
||||||
|
declare (strict_types=1);
|
||||||
|
namespace RectorPrefix202212\Fidry\CpuCoreCounter\Finder;
|
||||||
|
|
||||||
|
use function preg_match;
|
||||||
|
/**
|
||||||
|
* Find the number of physical CPU cores for Windows.
|
||||||
|
*
|
||||||
|
* @see https://github.com/paratestphp/paratest/blob/c163539818fd96308ca8dc60f46088461e366ed4/src/Runners/PHPUnit/Options.php#L912-L916
|
||||||
|
*/
|
||||||
|
final class WmicPhysicalFinder extends ProcOpenBasedFinder
|
||||||
|
{
|
||||||
|
private const CPU_CORE_COUNT_REGEX = '/NumberOfCores[\\s\\n]+(?<count>\\d+)/';
|
||||||
|
protected function getCommand() : string
|
||||||
|
{
|
||||||
|
return 'wmic cpu get NumberOfCores';
|
||||||
|
}
|
||||||
|
public function toString() : string
|
||||||
|
{
|
||||||
|
return 'WmicPhysicalFinder';
|
||||||
|
}
|
||||||
|
public static function countCpuCores(string $process) : ?int
|
||||||
|
{
|
||||||
|
if (0 === preg_match(self::CPU_CORE_COUNT_REGEX, $process, $matches)) {
|
||||||
|
return parent::countCpuCores($process);
|
||||||
|
}
|
||||||
|
$count = $matches['count'];
|
||||||
|
return parent::countCpuCores($count);
|
||||||
|
}
|
||||||
|
}
|
29
vendor/fidry/cpu-core-counter/src/Finder/_NProcessorFinder.php
vendored
Normal file
29
vendor/fidry/cpu-core-counter/src/Finder/_NProcessorFinder.php
vendored
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of the Fidry CPUCounter Config package.
|
||||||
|
*
|
||||||
|
* (c) Théo FIDRY <theo.fidry@gmail.com>
|
||||||
|
*
|
||||||
|
* For the full copyright and license information, please view the LICENSE
|
||||||
|
* file that was distributed with this source code.
|
||||||
|
*/
|
||||||
|
declare (strict_types=1);
|
||||||
|
namespace RectorPrefix202212\Fidry\CpuCoreCounter\Finder;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Find the number of logical CPU cores for Linux and the likes.
|
||||||
|
*
|
||||||
|
* @see https://twitter.com/freebsdfrau/status/1052016199452700678?s=20&t=M2pHkRqmmna-UF68lfL2hw
|
||||||
|
*/
|
||||||
|
final class _NProcessorFinder extends ProcOpenBasedFinder
|
||||||
|
{
|
||||||
|
protected function getCommand() : string
|
||||||
|
{
|
||||||
|
return 'getconf _NPROCESSORS_ONLN';
|
||||||
|
}
|
||||||
|
public function toString() : string
|
||||||
|
{
|
||||||
|
return '_NProcessorFinder';
|
||||||
|
}
|
||||||
|
}
|
21
vendor/fidry/cpu-core-counter/src/NumberOfCpuCoreNotFound.php
vendored
Normal file
21
vendor/fidry/cpu-core-counter/src/NumberOfCpuCoreNotFound.php
vendored
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of the Fidry CPUCounter Config package.
|
||||||
|
*
|
||||||
|
* (c) Théo FIDRY <theo.fidry@gmail.com>
|
||||||
|
*
|
||||||
|
* For the full copyright and license information, please view the LICENSE
|
||||||
|
* file that was distributed with this source code.
|
||||||
|
*/
|
||||||
|
declare (strict_types=1);
|
||||||
|
namespace RectorPrefix202212\Fidry\CpuCoreCounter;
|
||||||
|
|
||||||
|
use RuntimeException;
|
||||||
|
final class NumberOfCpuCoreNotFound extends RuntimeException
|
||||||
|
{
|
||||||
|
public static function create() : self
|
||||||
|
{
|
||||||
|
return new self('Could not find the number of CPU cores available.');
|
||||||
|
}
|
||||||
|
}
|
43
vendor/symplify/easy-parallel/composer.json
vendored
43
vendor/symplify/easy-parallel/composer.json
vendored
|
@ -8,11 +8,12 @@
|
||||||
"react\/child-process": "^0.6.5",
|
"react\/child-process": "^0.6.5",
|
||||||
"react\/event-loop": "^1.3",
|
"react\/event-loop": "^1.3",
|
||||||
"react\/socket": "^1.12",
|
"react\/socket": "^1.12",
|
||||||
"symfony\/console": "^6.1"
|
"symfony\/console": "^6.2",
|
||||||
|
"fidry\/cpu-core-counter": "^0.4.0"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"symplify\/package-builder": "^11.1.17",
|
"symplify\/package-builder": "^11.1.18",
|
||||||
"phpunit\/phpunit": "^9.5.25"
|
"phpunit\/phpunit": "^9.5.26"
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
"psr-4": {
|
"psr-4": {
|
||||||
|
@ -33,24 +34,24 @@
|
||||||
"platform-check": false
|
"platform-check": false
|
||||||
},
|
},
|
||||||
"conflict": {
|
"conflict": {
|
||||||
"symplify\/easy-coding-standard": "<11.1.17",
|
"symplify\/phpstan-rules": "<11.1.18",
|
||||||
"symplify\/phpstan-rules": "<11.1.17",
|
"symplify\/easy-testing": "<11.1.18",
|
||||||
"symplify\/easy-testing": "<11.1.17",
|
"symplify\/rule-doc-generator-contracts": "<11.1.18",
|
||||||
"symplify\/rule-doc-generator-contracts": "<11.1.17",
|
"symplify\/php-config-printer": "<11.1.18",
|
||||||
"symplify\/php-config-printer": "<11.1.17",
|
"symplify\/autowire-array-parameter": "<11.1.18",
|
||||||
"symplify\/autowire-array-parameter": "<11.1.17",
|
"symplify\/phpstan-extensions": "<11.1.18",
|
||||||
"symplify\/phpstan-extensions": "<11.1.17",
|
"symplify\/rule-doc-generator": "<11.1.18",
|
||||||
"symplify\/rule-doc-generator": "<11.1.17",
|
"symplify\/symfony-static-dumper": "<11.1.18",
|
||||||
"symplify\/vendor-patches": "<11.1.17",
|
"symplify\/config-transformer": "<11.1.18",
|
||||||
"symplify\/symfony-static-dumper": "<11.1.17",
|
"symplify\/coding-standard": "<11.1.18",
|
||||||
"symplify\/config-transformer": "<11.1.17",
|
"symplify\/composer-json-manipulator": "<11.1.18",
|
||||||
"symplify\/easy-ci": "<11.1.17",
|
"symplify\/smart-file-system": "<11.1.18",
|
||||||
"symplify\/coding-standard": "<11.1.17",
|
"symplify\/symplify-kernel": "<11.1.18",
|
||||||
"symplify\/composer-json-manipulator": "<11.1.17",
|
"symplify\/package-builder": "<11.1.18",
|
||||||
"symplify\/smart-file-system": "<11.1.17",
|
"symplify\/easy-ci": "<11.1.18",
|
||||||
"symplify\/monorepo-builder": "<11.1.17",
|
"symplify\/monorepo-builder": "<11.1.18",
|
||||||
"symplify\/symplify-kernel": "<11.1.17",
|
"symplify\/vendor-patches": "<11.1.18",
|
||||||
"symplify\/package-builder": "<11.1.17"
|
"symplify\/easy-coding-standard": "<11.1.18"
|
||||||
},
|
},
|
||||||
"minimum-stability": "dev",
|
"minimum-stability": "dev",
|
||||||
"prefer-stable": true
|
"prefer-stable": true
|
||||||
|
|
|
@ -7,5 +7,5 @@ use RectorPrefix202212\Symfony\Component\DependencyInjection\Loader\Configurator
|
||||||
return static function (ContainerConfigurator $containerConfigurator) : void {
|
return static function (ContainerConfigurator $containerConfigurator) : void {
|
||||||
$services = $containerConfigurator->services();
|
$services = $containerConfigurator->services();
|
||||||
$services->defaults()->public()->autowire();
|
$services->defaults()->public()->autowire();
|
||||||
$services->load('RectorPrefix202212\Symplify\\EasyParallel\\', __DIR__ . '/../src')->exclude([__DIR__ . '/../src/ValueObject']);
|
$services->load('RectorPrefix202212\Symplify\\EasyParallel\\', __DIR__ . '/../src')->exclude([__DIR__ . '/../src/ValueObject', __DIR__ . '/../src/Enum', __DIR__ . '/../src/Exception', __DIR__ . '/../src/Contract']);
|
||||||
};
|
};
|
||||||
|
|
|
@ -3,60 +3,20 @@
|
||||||
declare (strict_types=1);
|
declare (strict_types=1);
|
||||||
namespace RectorPrefix202212\Symplify\EasyParallel;
|
namespace RectorPrefix202212\Symplify\EasyParallel;
|
||||||
|
|
||||||
use RectorPrefix202212\Nette\Utils\Strings;
|
use RectorPrefix202212\Fidry\CpuCoreCounter\CpuCoreCounter;
|
||||||
/**
|
use RectorPrefix202212\Fidry\CpuCoreCounter\NumberOfCpuCoreNotFound;
|
||||||
* From https://github.com/phpstan/phpstan-src/commit/9124c66dcc55a222e21b1717ba5f60771f7dda92
|
|
||||||
*/
|
|
||||||
final class CpuCoreCountProvider
|
final class CpuCoreCountProvider
|
||||||
{
|
{
|
||||||
/**
|
|
||||||
* @see https://regex101.com/r/XMeAl4/1
|
|
||||||
* @var string
|
|
||||||
*/
|
|
||||||
private const PROCESSOR_REGEX = '#^processor#m';
|
|
||||||
/**
|
/**
|
||||||
* @var int
|
* @var int
|
||||||
*/
|
*/
|
||||||
private const DEFAULT_CORE_COUNT = 2;
|
private const DEFAULT_CORE_COUNT = 2;
|
||||||
public function provide() : int
|
public function provide() : int
|
||||||
{
|
{
|
||||||
// from brianium/paratest
|
try {
|
||||||
$cpuInfoCount = $this->resolveFromProcCpuinfo();
|
return (new CpuCoreCounter())->getCount();
|
||||||
if ($cpuInfoCount !== null) {
|
} catch (NumberOfCpuCoreNotFound $exception) {
|
||||||
return $cpuInfoCount;
|
return self::DEFAULT_CORE_COUNT;
|
||||||
}
|
}
|
||||||
$coreCount = self::DEFAULT_CORE_COUNT;
|
|
||||||
if (\DIRECTORY_SEPARATOR === '\\') {
|
|
||||||
// Windows
|
|
||||||
$process = @\popen('wmic cpu get NumberOfCores', 'rb');
|
|
||||||
if ($process !== \false) {
|
|
||||||
\fgets($process);
|
|
||||||
$coreCount = (int) \fgets($process);
|
|
||||||
\pclose($process);
|
|
||||||
}
|
|
||||||
return $coreCount;
|
|
||||||
}
|
|
||||||
$process = @\popen('sysctl -n hw.ncpu', 'rb');
|
|
||||||
if ($process !== \false) {
|
|
||||||
$coreCount = (int) \fgets($process);
|
|
||||||
\pclose($process);
|
|
||||||
}
|
|
||||||
return $coreCount;
|
|
||||||
}
|
|
||||||
private function resolveFromProcCpuinfo() : ?int
|
|
||||||
{
|
|
||||||
if (!\is_file('/proc/cpuinfo')) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
// Linux (and potentially Windows with linux sub systems)
|
|
||||||
$cpuinfo = \file_get_contents('/proc/cpuinfo');
|
|
||||||
if ($cpuinfo === \false) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
$matches = Strings::matchAll($cpuinfo, self::PROCESSOR_REGEX);
|
|
||||||
if ($matches === []) {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
return \count($matches);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,7 +23,7 @@ final class ParallelProcess
|
||||||
/**
|
/**
|
||||||
* @var \React\ChildProcess\Process
|
* @var \React\ChildProcess\Process
|
||||||
*/
|
*/
|
||||||
public $process;
|
private $process;
|
||||||
/**
|
/**
|
||||||
* @var \Clue\React\NDJson\Encoder
|
* @var \Clue\React\NDJson\Encoder
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -17,24 +17,24 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"conflict": {
|
"conflict": {
|
||||||
"symplify\/composer-json-manipulator": "<11.1.17",
|
"symplify\/composer-json-manipulator": "<11.1.18",
|
||||||
"symplify\/easy-coding-standard": "<11.1.17",
|
"symplify\/phpstan-rules": "<11.1.18",
|
||||||
"symplify\/phpstan-rules": "<11.1.17",
|
"symplify\/easy-testing": "<11.1.18",
|
||||||
"symplify\/easy-testing": "<11.1.17",
|
"symplify\/php-config-printer": "<11.1.18",
|
||||||
"symplify\/php-config-printer": "<11.1.17",
|
"symplify\/autowire-array-parameter": "<11.1.18",
|
||||||
"symplify\/autowire-array-parameter": "<11.1.17",
|
"symplify\/package-builder": "<11.1.18",
|
||||||
"symplify\/package-builder": "<11.1.17",
|
"symplify\/phpstan-extensions": "<11.1.18",
|
||||||
"symplify\/phpstan-extensions": "<11.1.17",
|
"symplify\/rule-doc-generator": "<11.1.18",
|
||||||
"symplify\/rule-doc-generator": "<11.1.17",
|
"symplify\/smart-file-system": "<11.1.18",
|
||||||
"symplify\/vendor-patches": "<11.1.17",
|
"symplify\/symfony-static-dumper": "<11.1.18",
|
||||||
"symplify\/smart-file-system": "<11.1.17",
|
"symplify\/symplify-kernel": "<11.1.18",
|
||||||
"symplify\/symfony-static-dumper": "<11.1.17",
|
"symplify\/config-transformer": "<11.1.18",
|
||||||
"symplify\/symplify-kernel": "<11.1.17",
|
"symplify\/coding-standard": "<11.1.18",
|
||||||
"symplify\/monorepo-builder": "<11.1.17",
|
"symplify\/easy-parallel": "<11.1.18",
|
||||||
"symplify\/config-transformer": "<11.1.17",
|
"symplify\/easy-ci": "<11.1.18",
|
||||||
"symplify\/easy-ci": "<11.1.17",
|
"symplify\/monorepo-builder": "<11.1.18",
|
||||||
"symplify\/coding-standard": "<11.1.17",
|
"symplify\/vendor-patches": "<11.1.18",
|
||||||
"symplify\/easy-parallel": "<11.1.17"
|
"symplify\/easy-coding-standard": "<11.1.18"
|
||||||
},
|
},
|
||||||
"minimum-stability": "dev",
|
"minimum-stability": "dev",
|
||||||
"prefer-stable": true
|
"prefer-stable": true
|
||||||
|
|
Loading…
Reference in New Issue
Block a user