diff --git a/res/composer-schema.json b/res/composer-schema.json index 7b52d7733..e3599485f 100644 --- a/res/composer-schema.json +++ b/res/composer-schema.json @@ -176,6 +176,10 @@ "type": ["string", "boolean"], "description": "The default style of handling dirty updates, defaults to false and can be any of true, false or \"stash\"." }, + "autoloader-suffix": { + "type": ["string", "boolean"], + "description": "Optional string to be used as a suffix to the autoloader generator. When null a random one will be generated." + }, "prepend-autoloader": { "type": "boolean", "description": "If false, the composer autoloader will not be prepended to existing autoloaders, defaults to true." diff --git a/src/Composer/Autoload/AutoloadGenerator.php b/src/Composer/Autoload/AutoloadGenerator.php index 1252371d6..7b019e012 100644 --- a/src/Composer/Autoload/AutoloadGenerator.php +++ b/src/Composer/Autoload/AutoloadGenerator.php @@ -169,7 +169,7 @@ EOF; $classmapFile .= ");\n"; if (!$suffix) { - $suffix = md5(uniqid('', true)); + $suffix = $config->get('autoloader-suffix') ? $config->get('autoloader-suffix') : md5(uniqid('', true)); } file_put_contents($targetDir.'/autoload_namespaces.php', $namespacesFile); diff --git a/src/Composer/Config.php b/src/Composer/Config.php index c893091c6..68a3410f3 100644 --- a/src/Composer/Config.php +++ b/src/Composer/Config.php @@ -35,6 +35,7 @@ class Config 'cache-files-ttl' => null, // fallback to cache-ttl 'cache-files-maxsize' => '300MiB', 'discard-changes' => false, + 'autoload-suffix' => false, 'prepend-autoloader' => true, 'github-domains' => array('github.com'), );