From 4f4cbc17d93a13144423ab1339a7177859a7f869 Mon Sep 17 00:00:00 2001 From: Ulrich Kautz Date: Thu, 18 Oct 2012 17:38:09 +0200 Subject: [PATCH] Added "--prefer-dist" option to create-project command --- src/Composer/Command/CreateProjectCommand.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/Composer/Command/CreateProjectCommand.php b/src/Composer/Command/CreateProjectCommand.php index 29b4fce6c..99646ba13 100644 --- a/src/Composer/Command/CreateProjectCommand.php +++ b/src/Composer/Command/CreateProjectCommand.php @@ -49,6 +49,7 @@ class CreateProjectCommand extends Command new InputArgument('directory', InputArgument::OPTIONAL, 'Directory where the files should be created'), new InputArgument('version', InputArgument::OPTIONAL, 'Version, will defaults to latest'), new InputOption('prefer-source', null, InputOption::VALUE_NONE, 'Forces installation from package sources when possible, including VCS information.'), + new InputOption('prefer-dist', null, InputOption::VALUE_NONE, 'Forces installation from package dist even for dev versions.'), new InputOption('repository-url', null, InputOption::VALUE_REQUIRED, 'Pick a different repository url to look for the package.'), new InputOption('dev', null, InputOption::VALUE_NONE, 'Whether to install dependencies for development.'), new InputOption('no-custom-installers', null, InputOption::VALUE_NONE, 'Whether to disable custom installers.'), @@ -84,6 +85,7 @@ EOT $input->getArgument('directory'), $input->getArgument('version'), $input->getOption('prefer-source'), + $input->getOption('prefer-dist'), $input->getOption('dev'), $input->getOption('repository-url'), $input->getOption('no-custom-installers'), @@ -92,7 +94,7 @@ EOT ); } - public function installProject(IOInterface $io, $packageName, $directory = null, $packageVersion = null, $preferSource = false, $installDevPackages = false, $repositoryUrl = null, $disableCustomInstallers = false, $noScripts = false, $keepVcs = false) + public function installProject(IOInterface $io, $packageName, $directory = null, $packageVersion = null, $preferSource = false, $preferDist = false, $installDevPackages = false, $repositoryUrl = null, $disableCustomInstallers = false, $noScripts = false, $keepVcs = false) { $config = Factory::createConfig(); @@ -160,6 +162,8 @@ EOT $package->setSourceReference(substr($package->getPrettyVersion(), 4)); } + $dm->setPreferSource($preferSource) + ->setPreferDist($preferDist); $projectInstaller = new ProjectInstaller($directory, $dm); $projectInstaller->install(new InstalledFilesystemRepository(new JsonFile('php://memory')), $package); if ($package->getRepository() instanceof NotifiableRepositoryInterface) { @@ -179,6 +183,7 @@ EOT $installer = Installer::create($io, $composer); $installer->setPreferSource($preferSource) + ->setPreferDist($preferDist) ->setDevMode($installDevPackages) ->setRunScripts( ! $noScripts);