From 713309b38c3a0292906b9cf9fba828d3aeff18e0 Mon Sep 17 00:00:00 2001 From: Jordi Boggiano Date: Tue, 22 May 2012 15:48:23 +0200 Subject: [PATCH] Show exact version being installed in create-project, fixes #724 --- src/Composer/Command/CreateProjectCommand.php | 9 +++++++-- .../DependencyResolver/Operation/SolverOperation.php | 7 ++----- src/Composer/Package/Version/VersionParser.php | 10 ++++++++++ 3 files changed, 19 insertions(+), 7 deletions(-) diff --git a/src/Composer/Command/CreateProjectCommand.php b/src/Composer/Command/CreateProjectCommand.php index 3759262ee..07433dd4a 100644 --- a/src/Composer/Command/CreateProjectCommand.php +++ b/src/Composer/Command/CreateProjectCommand.php @@ -24,7 +24,9 @@ use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputOption; use Symfony\Component\Console\Output\OutputInterface; use Composer\Json\JsonFile; +use Composer\Util\Filesystem; use Composer\Util\RemoteFilesystem; +use Composer\Package\Version\VersionParser; /** * Install a package as new project into new directory. @@ -116,11 +118,14 @@ EOT } } - $io->write('Installing ' . $package->getName() . ' as new project.', true); + $fs = new Filesystem(); + $prettyDirectory = rtrim($fs->isAbsolutePath($directory) ? $fs->findShortestPath(getcwd(), $directory, true) : $directory, '\\/') . '/'; + + $io->write('Installing ' . $package->getName() . ' (' . VersionParser::formatVersion($package) . ') in '.$prettyDirectory.'', true); $projectInstaller = new ProjectInstaller($directory, $dm); $projectInstaller->install(new InstalledFilesystemRepository(new JsonFile('php://memory')), $package); - $io->write('Created project into directory ' . $directory . '', true); + $io->write('Created project in ' . $directory . '', true); chdir($directory); $composer = Factory::create($io); diff --git a/src/Composer/DependencyResolver/Operation/SolverOperation.php b/src/Composer/DependencyResolver/Operation/SolverOperation.php index ddad58aea..a4e8384d3 100644 --- a/src/Composer/DependencyResolver/Operation/SolverOperation.php +++ b/src/Composer/DependencyResolver/Operation/SolverOperation.php @@ -12,6 +12,7 @@ namespace Composer\DependencyResolver\Operation; +use Composer\Package\Version\VersionParser; use Composer\Package\PackageInterface; /** @@ -45,10 +46,6 @@ abstract class SolverOperation implements OperationInterface protected function formatVersion(PackageInterface $package) { - if (!$package->isDev() || !in_array($package->getSourceType(), array('hg', 'git'))) { - return $package->getPrettyVersion(); - } - - return $package->getPrettyVersion().' '.substr($package->getSourceReference(), 0, 6); + return VersionParser::formatVersion($package); } } diff --git a/src/Composer/Package/Version/VersionParser.php b/src/Composer/Package/Version/VersionParser.php index a45f443a3..4d72b4d6b 100644 --- a/src/Composer/Package/Version/VersionParser.php +++ b/src/Composer/Package/Version/VersionParser.php @@ -13,6 +13,7 @@ namespace Composer\Package\Version; use Composer\Package\BasePackage; +use Composer\Package\PackageInterface; use Composer\Package\LinkConstraint\MultiConstraint; use Composer\Package\LinkConstraint\VersionConstraint; @@ -58,6 +59,15 @@ class VersionParser return $stability === 'rc' ? 'RC' : $stability; } + static public function formatVersion(PackageInterface $package) + { + if (!$package->isDev() || !in_array($package->getSourceType(), array('hg', 'git'))) { + return $package->getPrettyVersion(); + } + + return $package->getPrettyVersion().' '.substr($package->getSourceReference(), 0, 6); + } + /** * Normalizes a version string to be able to perform comparisons on it *