瀏覽代碼

Refactor the getRepoData method to not throw an Exception

Stefan Grootscholten 8 年之前
父節點
當前提交
3ccaac619b

+ 3 - 2
src/Composer/Repository/Vcs/BitbucketDriver.php

@@ -77,7 +77,7 @@ abstract class BitbucketDriver extends VcsDriver
      * Attempts to fetch the repository data via the BitBucket API and
      * sets some parameters which are used in other methods
      *
-     * @return void
+     * @return bool
      */
     protected function getRepoData()
     {
@@ -94,7 +94,7 @@ abstract class BitbucketDriver extends VcsDriver
 
         $repoData = JsonFile::parseJson($this->getContentsWithOAuthCredentials($resource, true), $resource);
         if ($this->fallbackDriver) {
-            throw new BitbucketFallbackException();
+            return false;
         }
         $this->parseCloneUrls($repoData['links']['clone']);
 
@@ -104,6 +104,7 @@ abstract class BitbucketDriver extends VcsDriver
         $this->homeUrl = $repoData['links']['html']['href'];
         $this->website = $repoData['website'];
         $this->vcsType = $repoData['scm'];
+        return true;
     }
 
     /**

+ 0 - 17
src/Composer/Repository/Vcs/BitbucketFallbackException.php

@@ -1,17 +0,0 @@
-<?php
-
-/*
- * This file is part of Composer.
- *
- * (c) Nils Adermann <naderman@naderman.de>
- *     Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Composer\Repository\Vcs;
-
-class BitbucketFallbackException extends \RuntimeException
-{
-}

+ 1 - 3
src/Composer/Repository/Vcs/GitBitbucketDriver.php

@@ -30,9 +30,7 @@ class GitBitbucketDriver extends BitbucketDriver
         }
 
         if (null === $this->rootIdentifier) {
-            try {
-                $this->getRepoData();
-            } catch (BitbucketFallbackException $e) {
+            if (! $this->getRepoData()) {
                 return $this->fallbackDriver->getRootIdentifier();
             }
 

+ 1 - 3
src/Composer/Repository/Vcs/HgBitbucketDriver.php

@@ -30,9 +30,7 @@ class HgBitbucketDriver extends BitbucketDriver
         }
 
         if (null === $this->rootIdentifier) {
-            try {
-                $this->getRepoData();
-            } catch (BitbucketFallbackException $e) {
+            if (! $this->getRepoData()) {
                 return $this->fallbackDriver->getRootIdentifier();
             }