Fix default version to be semver parseable, fixes #9342
parent
3dfbd9e9e9
commit
4b8c2aa121
|
@ -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</%1$s> %s', $color, $package->getPrettyName(), $versionText));
|
||||
$linkText = sprintf('%s <%s>%s</%2$s> %s', $link->getDescription(), $prevColor, $link->getTarget(), $link->getPrettyConstraint());
|
||||
$circularWarn = $children === false ? '(circular dependency aborted here)' : '';
|
||||
|
|
|
@ -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'])) {
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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()
|
||||
|
|
Loading…
Reference in New Issue