Browse Source

Merge remote-tracking branch 'hanovruslan/add-sort-packages-into-config'

Jordi Boggiano 9 years ago
parent
commit
94136e0d4f

+ 4 - 0
doc/06-config.md

@@ -126,6 +126,10 @@ autoloader. When null a random one will be generated.
 
 Defaults to `false`. If `true`, always optimize when dumping the autoloader.
 
+## sort-packages
+
+Defaults to `false`. If `true`, Keep packages sorted in `composer.json`.
+
 ## classmap-authoritative
 
 Defaults to `false`. If `true`, the Composer autoloader will only load classes

+ 1 - 0
src/Composer/Command/ConfigCommand.php

@@ -322,6 +322,7 @@ EOT
                 },
             ),
             'autoloader-suffix' => array('is_string', function ($val) { return $val === 'null' ? null : $val; }),
+            'sort-packages' => array($booleanValidator, $booleanNormalizer),
             'optimize-autoloader' => array($booleanValidator, $booleanNormalizer),
             'classmap-authoritative' => array($booleanValidator, $booleanNormalizer),
             'prepend-autoloader' => array($booleanValidator, $booleanNormalizer),

+ 1 - 1
src/Composer/Command/RequireCommand.php

@@ -117,7 +117,7 @@ EOT
             $versionParser->parseConstraints($constraint);
         }
 
-        $sortPackages = $input->getOption('sort-packages');
+        $sortPackages = $input->getOption('sort-packages') || $composer->getConfig()->get('sort-packages');
 
         if (!$this->updateFileCleanly($json, $baseRequirements, $requirements, $requireKey, $removeKey, $sortPackages)) {
             foreach ($requirements as $package => $version) {

+ 1 - 0
src/Composer/Config.php

@@ -39,6 +39,7 @@ class Config
         'bin-compat' => 'auto',
         'discard-changes' => false,
         'autoloader-suffix' => null,
+        'sort-packages' => false,
         'optimize-autoloader' => false,
         'classmap-authoritative' => false,
         'prepend-autoloader' => true,