diff --git a/src/Composer/Command/BaseDependencyCommand.php b/src/Composer/Command/BaseDependencyCommand.php index 2ca92fcef..a92167492 100644 --- a/src/Composer/Command/BaseDependencyCommand.php +++ b/src/Composer/Command/BaseDependencyCommand.php @@ -14,6 +14,7 @@ namespace Composer\Command; use Composer\Package\Link; use Composer\Package\PackageInterface; +use Composer\Package\RootPackage; use Composer\Repository\InstalledArrayRepository; use Composer\Repository\CompositeRepository; use Composer\Repository\RootPackageRepository; @@ -167,7 +168,7 @@ class BaseDependencyCommand extends BaseCommand continue; } $doubles[$unique] = true; - $version = (strpos($package->getPrettyVersion(), 'No version set') === 0) ? '-' : $package->getPrettyVersion(); + $version = $package->getPrettyVersion() === RootPackage::DEFAULT_PRETTY_VERSION ? '-' : $package->getPrettyVersion(); $rows[] = array($package->getPrettyName(), $version, $link->getDescription(), sprintf('%s (%s)', $link->getTarget(), $link->getPrettyConstraint())); if ($children) { $queue = array_merge($queue, $children); @@ -223,7 +224,7 @@ class BaseDependencyCommand extends BaseCommand $color = $this->colors[$level % count($this->colors)]; $prevColor = $this->colors[($level - 1) % count($this->colors)]; $isLast = (++$idx == $count); - $versionText = (strpos($package->getPrettyVersion(), 'No version set') === 0) ? '' : $package->getPrettyVersion(); + $versionText = $package->getPrettyVersion() === RootPackage::DEFAULT_PRETTY_VERSION ? '' : $package->getPrettyVersion(); $packageText = rtrim(sprintf('<%s>%s %s', $color, $package->getPrettyName(), $versionText)); $linkText = sprintf('%s <%s>%s %s', $link->getDescription(), $prevColor, $link->getTarget(), $link->getPrettyConstraint()); $circularWarn = $children === false ? '(circular dependency aborted here)' : ''; diff --git a/src/Composer/Package/Loader/RootPackageLoader.php b/src/Composer/Package/Loader/RootPackageLoader.php index 68a6224e9..e807cfd45 100644 --- a/src/Composer/Package/Loader/RootPackageLoader.php +++ b/src/Composer/Package/Loader/RootPackageLoader.php @@ -20,6 +20,7 @@ use Composer\Package\RootPackageInterface; use Composer\Repository\RepositoryFactory; use Composer\Package\Version\VersionGuesser; use Composer\Package\Version\VersionParser; +use Composer\Package\RootPackage; use Composer\Repository\RepositoryManager; use Composer\Util\ProcessExecutor; @@ -112,7 +113,7 @@ class RootPackageLoader extends ArrayLoader } if ($autoVersioned) { - $realPackage->replaceVersion($realPackage->getVersion(), 'No version set (parsed as 1.0.0)'); + $realPackage->replaceVersion($realPackage->getVersion(), RootPackage::DEFAULT_PRETTY_VERSION); } if (isset($config['minimum-stability'])) { diff --git a/src/Composer/Package/RootPackage.php b/src/Composer/Package/RootPackage.php index 52e851a5c..7850cfba7 100644 --- a/src/Composer/Package/RootPackage.php +++ b/src/Composer/Package/RootPackage.php @@ -19,6 +19,8 @@ namespace Composer\Package; */ class RootPackage extends CompletePackage implements RootPackageInterface { + const DEFAULT_PRETTY_VERSION = '1.0.0+no-version-set'; + protected $minimumStability = 'stable'; protected $preferStable = false; protected $stabilityFlags = array(); diff --git a/tests/Composer/Test/Package/Loader/RootPackageLoaderTest.php b/tests/Composer/Test/Package/Loader/RootPackageLoaderTest.php index eaa8070cd..ade220950 100644 --- a/tests/Composer/Test/Package/Loader/RootPackageLoaderTest.php +++ b/tests/Composer/Test/Package/Loader/RootPackageLoaderTest.php @@ -15,6 +15,7 @@ namespace Composer\Test\Package\Loader; use Composer\Config; use Composer\Package\Loader\RootPackageLoader; use Composer\Package\BasePackage; +use Composer\Package\RootPackage; use Composer\Package\Version\VersionGuesser; use Composer\Semver\VersionParser; use Composer\Test\TestCase; @@ -90,7 +91,7 @@ class RootPackageLoaderTest extends TestCase $package = $loader->load(array()); $this->assertEquals("1.0.0.0", $package->getVersion()); - $this->assertEquals("No version set (parsed as 1.0.0)", $package->getPrettyVersion()); + $this->assertEquals(RootPackage::DEFAULT_PRETTY_VERSION, $package->getPrettyVersion()); } public function testPrettyVersionForRootPackageInVersionBranch()