Explorar o código

Backport update packagist default repo to be packagist.org

Jordi Boggiano %!s(int64=8) %!d(string=hai) anos
pai
achega
91e7372c6e

+ 2 - 2
doc/05-repositories.md

@@ -312,7 +312,7 @@ VCS repository provides `dist`s for them that fetch the packages as zips.
 * **BitBucket:** [bitbucket.org](https://bitbucket.org) (Git and Mercurial)
 
 The VCS driver to be used is detected automatically based on the URL. However,
-should you need to specify one for whatever reason, you can use `fossil`, `git`, 
+should you need to specify one for whatever reason, you can use `fossil`, `git`,
 `svn` or `hg` as the repository type instead of `vcs`.
 
 If you set the `no-api` key to `true` on a github repository it will clone the
@@ -686,7 +686,7 @@ You can disable the default Packagist repository by adding this to your
 {
     "repositories": [
         {
-            "packagist": false
+            "packagist.org": false
         }
     ]
 }

+ 17 - 4
src/Composer/Config.php

@@ -67,7 +67,7 @@ class Config
     );
 
     public static $defaultRepositories = array(
-        'packagist' => array(
+        'packagist.org' => array(
             'type' => 'composer',
             'url' => 'https?://packagist.org',
             'allow_ssl_downgrade' => true,
@@ -157,13 +157,13 @@ class Config
             foreach ($newRepos as $name => $repository) {
                 // disable a repository by name
                 if (false === $repository) {
-                    unset($this->repositories[$name]);
+                    $this->disableRepoByName($name);
                     continue;
                 }
 
                 // disable a repository with an anonymous {"name": false} repo
                 if (is_array($repository) && 1 === count($repository) && false === current($repository)) {
-                    unset($this->repositories[key($repository)]);
+                    $this->disableRepoByName(key($repository));
                     continue;
                 }
 
@@ -171,7 +171,11 @@ class Config
                 if (is_int($name)) {
                     $this->repositories[] = $repository;
                 } else {
-                    $this->repositories[$name] = $repository;
+                    if ($name === 'packagist') { // BC support for default "packagist" named repo
+                        $this->repositories[$name . '.org'] = $repository;
+                    } else {
+                        $this->repositories[$name] = $repository;
+                    }
                 }
             }
             $this->repositories = array_reverse($this->repositories, true);
@@ -404,6 +408,15 @@ class Config
         return false;
     }
 
+    private function disableRepoByName($name)
+    {
+        if (isset($this->repositories[$name])) {
+            unset($this->repositories[$name]);
+        } else if ($name === 'packagist') { // BC support for default "packagist" named repo
+            unset($this->repositories['packagist.org']);
+        }
+    }
+
     /**
      * Validates that the passed URL is allowed to be used by current config, or throws an exception.
      *

+ 2 - 2
tests/Composer/Test/Json/JsonManipulatorTest.php

@@ -292,7 +292,7 @@ class JsonManipulatorTest extends \PHPUnit_Framework_TestCase
     },
     "repositories": [
         {
-            "packagist": false
+            "packagist.org": false
         },
         {
             "type": "package",
@@ -773,7 +773,7 @@ class JsonManipulatorTest extends \PHPUnit_Framework_TestCase
     },
     "repositories": [
         {
-            "packagist": false
+            "packagist.org": false
         },
         {
             "type": "package",