Эх сурвалжийг харах

Rename and document constants for partial update behavior

Nils Adermann 5 жил өмнө
parent
commit
9fb09049ff

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

@@ -181,7 +181,7 @@ EOT
             ->setApcuAutoloader($apcu)
             ->setApcuAutoloader($apcu)
             ->setUpdate(true)
             ->setUpdate(true)
             ->setUpdateAllowList($packages)
             ->setUpdateAllowList($packages)
-            ->setUpdateAllowTransitiveDependencies($input->getOption('no-update-with-dependencies') ? Request::UPDATE_ONLY_LISTED : Request::UPDATE_TRANSITIVE_DEPENDENCIES)
+            ->setUpdateAllowTransitiveDependencies($input->getOption('no-update-with-dependencies') ? Request::UPDATE_ONLY_LISTED : Request::UPDATE_LISTED_WITH_TRANSITIVE_DEPS_NO_ROOT_REQUIRE)
             ->setIgnorePlatformRequirements($input->getOption('ignore-platform-reqs'))
             ->setIgnorePlatformRequirements($input->getOption('ignore-platform-reqs'))
             ->setRunScripts(!$input->getOption('no-scripts'))
             ->setRunScripts(!$input->getOption('no-scripts'))
             ->setDryRun($dryRun)
             ->setDryRun($dryRun)

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

@@ -251,9 +251,9 @@ EOT
 
 
         $updateAllowTransitiveDependencies = Request::UPDATE_ONLY_LISTED;
         $updateAllowTransitiveDependencies = Request::UPDATE_ONLY_LISTED;
         if ($input->getOption('update-with-all-dependencies')) {
         if ($input->getOption('update-with-all-dependencies')) {
-            $updateAllowTransitiveDependencies = Request::UPDATE_TRANSITIVE_ROOT_DEPENDENCIES;
+            $updateAllowTransitiveDependencies = Request::UPDATE_LISTED_WITH_TRANSITIVE_DEPS;
         } elseif ($input->getOption('update-with-dependencies')) {
         } elseif ($input->getOption('update-with-dependencies')) {
-            $updateAllowTransitiveDependencies = Request::UPDATE_TRANSITIVE_DEPENDENCIES;
+            $updateAllowTransitiveDependencies = Request::UPDATE_LISTED_WITH_TRANSITIVE_DEPS_NO_ROOT_REQUIRE;
         }
         }
 
 
         $commandEvent = new CommandEvent(PluginEvents::COMMAND, 'require', $input, $output);
         $commandEvent = new CommandEvent(PluginEvents::COMMAND, 'require', $input, $output);

+ 2 - 2
src/Composer/Command/UpdateCommand.php

@@ -148,9 +148,9 @@ EOT
 
 
         $updateAllowTransitiveDependencies = Request::UPDATE_ONLY_LISTED;
         $updateAllowTransitiveDependencies = Request::UPDATE_ONLY_LISTED;
         if ($input->getOption('with-all-dependencies')) {
         if ($input->getOption('with-all-dependencies')) {
-            $updateAllowTransitiveDependencies = Request::UPDATE_TRANSITIVE_ROOT_DEPENDENCIES;
+            $updateAllowTransitiveDependencies = Request::UPDATE_LISTED_WITH_TRANSITIVE_DEPS;
         } elseif ($input->getOption('with-dependencies')) {
         } elseif ($input->getOption('with-dependencies')) {
-            $updateAllowTransitiveDependencies = Request::UPDATE_TRANSITIVE_DEPENDENCIES;
+            $updateAllowTransitiveDependencies = Request::UPDATE_LISTED_WITH_TRANSITIVE_DEPS_NO_ROOT_REQUIRE;
         }
         }
 
 
         $install
         $install

+ 16 - 3
src/Composer/DependencyResolver/Request.php

@@ -23,9 +23,22 @@ use Composer\Semver\Constraint\ConstraintInterface;
  */
  */
 class Request
 class Request
 {
 {
+    /**
+     * Identifies a partial update for listed packages only, all dependencies will remain at locked versions
+     */
     const UPDATE_ONLY_LISTED = 0;
     const UPDATE_ONLY_LISTED = 0;
-    const UPDATE_TRANSITIVE_DEPENDENCIES = 1;
-    const UPDATE_TRANSITIVE_ROOT_DEPENDENCIES = 2;
+
+    /**
+     * Identifies a partial update for listed packages and recursively all their dependencies, however dependencies
+     * also directly required by the root composer.json and their dependencies will remain at the locked version.
+     */
+    const UPDATE_LISTED_WITH_TRANSITIVE_DEPS_NO_ROOT_REQUIRE = 1;
+
+    /**
+     * Identifies a partial update for listed packages and recursively all their dependencies, even dependencies
+     * also directly required by the root composer.json will be updated.
+     */
+    const UPDATE_LISTED_WITH_TRANSITIVE_DEPS = 2;
 
 
     protected $lockedRepository;
     protected $lockedRepository;
     protected $requires = array();
     protected $requires = array();
@@ -83,7 +96,7 @@ class Request
 
 
     public function getUpdateAllowTransitiveRootDependencies()
     public function getUpdateAllowTransitiveRootDependencies()
     {
     {
-        return $this->updateAllowTransitiveDependencies === self::UPDATE_TRANSITIVE_ROOT_DEPENDENCIES;
+        return $this->updateAllowTransitiveDependencies === self::UPDATE_LISTED_WITH_TRANSITIVE_DEPS;
     }
     }
 
 
     public function getRequires()
     public function getRequires()

+ 1 - 1
src/Composer/Installer.php

@@ -1150,7 +1150,7 @@ class Installer
      */
      */
     public function setUpdateAllowTransitiveDependencies($updateAllowTransitiveDependencies)
     public function setUpdateAllowTransitiveDependencies($updateAllowTransitiveDependencies)
     {
     {
-        if (!in_array($updateAllowTransitiveDependencies, array(Request::UPDATE_ONLY_LISTED, Request::UPDATE_TRANSITIVE_DEPENDENCIES, Request::UPDATE_TRANSITIVE_ROOT_DEPENDENCIES), true)) {
+        if (!in_array($updateAllowTransitiveDependencies, array(Request::UPDATE_ONLY_LISTED, Request::UPDATE_LISTED_WITH_TRANSITIVE_DEPS_NO_ROOT_REQUIRE, Request::UPDATE_LISTED_WITH_TRANSITIVE_DEPS), true)) {
             throw new \RuntimeException("Invalid value for updateAllowTransitiveDependencies supplied");
             throw new \RuntimeException("Invalid value for updateAllowTransitiveDependencies supplied");
         }
         }
 
 

+ 2 - 2
tests/Composer/Test/InstallerTest.php

@@ -282,9 +282,9 @@ class InstallerTest extends TestCase
 
 
             $updateAllowTransitiveDependencies = Request::UPDATE_ONLY_LISTED;
             $updateAllowTransitiveDependencies = Request::UPDATE_ONLY_LISTED;
             if ($input->getOption('with-all-dependencies')) {
             if ($input->getOption('with-all-dependencies')) {
-                $updateAllowTransitiveDependencies = Request::UPDATE_TRANSITIVE_ROOT_DEPENDENCIES;
+                $updateAllowTransitiveDependencies = Request::UPDATE_LISTED_WITH_TRANSITIVE_DEPS;
             } elseif ($input->getOption('with-dependencies')) {
             } elseif ($input->getOption('with-dependencies')) {
-                $updateAllowTransitiveDependencies = Request::UPDATE_TRANSITIVE_DEPENDENCIES;
+                $updateAllowTransitiveDependencies = Request::UPDATE_LISTED_WITH_TRANSITIVE_DEPS_NO_ROOT_REQUIRE;
             }
             }
 
 
             $installer
             $installer