Added --no-install option to create-project command

Added a --no-install option to the create-project command that
skips installation of the dependencies in the newly created
project.
main
Gerry Vandermaesen 11 years ago
parent f8a1d41967
commit eb72e1692c

@ -66,6 +66,7 @@ class CreateProjectCommand extends Command
new InputOption('no-scripts', null, InputOption::VALUE_NONE, 'Whether to prevent execution of all defined scripts in the root package.'), new InputOption('no-scripts', null, InputOption::VALUE_NONE, 'Whether to prevent execution of all defined scripts in the root package.'),
new InputOption('no-progress', null, InputOption::VALUE_NONE, 'Do not output download progress.'), new InputOption('no-progress', null, InputOption::VALUE_NONE, 'Do not output download progress.'),
new InputOption('keep-vcs', null, InputOption::VALUE_NONE, 'Whether to prevent deletion vcs folder.'), new InputOption('keep-vcs', null, InputOption::VALUE_NONE, 'Whether to prevent deletion vcs folder.'),
new InputOption('no-install', null, InputOption::VALUE_NONE, 'Whether to skip installation of the package dependencies.'),
)) ))
->setHelp(<<<EOT ->setHelp(<<<EOT
The <info>create-project</info> command creates a new project from a given The <info>create-project</info> command creates a new project from a given
@ -130,11 +131,12 @@ EOT
$input->getOption('no-custom-installers'), $input->getOption('no-custom-installers'),
$input->getOption('no-scripts'), $input->getOption('no-scripts'),
$input->getOption('keep-vcs'), $input->getOption('keep-vcs'),
$input->getOption('no-progress') $input->getOption('no-progress'),
$input->getOption('no-install')
); );
} }
public function installProject(IOInterface $io, $config, $packageName, $directory = null, $packageVersion = null, $stability = 'stable', $preferSource = false, $preferDist = false, $installDevPackages = false, $repositoryUrl = null, $disableCustomInstallers = false, $noScripts = false, $keepVcs = false, $noProgress = false) public function installProject(IOInterface $io, $config, $packageName, $directory = null, $packageVersion = null, $stability = 'stable', $preferSource = false, $preferDist = false, $installDevPackages = false, $repositoryUrl = null, $disableCustomInstallers = false, $noScripts = false, $keepVcs = false, $noProgress = false, $noInstall = false)
{ {
if ($packageName !== null) { if ($packageName !== null) {
$installedFromVcs = $this->installRootPackage($io, $config, $packageName, $directory, $packageVersion, $stability, $preferSource, $preferDist, $installDevPackages, $repositoryUrl, $disableCustomInstallers, $noScripts, $keepVcs, $noProgress); $installedFromVcs = $this->installRootPackage($io, $config, $packageName, $directory, $packageVersion, $stability, $preferSource, $preferDist, $installDevPackages, $repositoryUrl, $disableCustomInstallers, $noScripts, $keepVcs, $noProgress);
@ -150,18 +152,20 @@ EOT
} }
// install dependencies of the created project // install dependencies of the created project
$installer = Installer::create($io, $composer); if ($noInstall === false) {
$installer->setPreferSource($preferSource) $installer = Installer::create($io, $composer);
->setPreferDist($preferDist) $installer->setPreferSource($preferSource)
->setDevMode($installDevPackages) ->setPreferDist($preferDist)
->setRunScripts( ! $noScripts); ->setDevMode($installDevPackages)
->setRunScripts( ! $noScripts);
if ($disableCustomInstallers) {
$installer->disableCustomInstallers(); if ($disableCustomInstallers) {
} $installer->disableCustomInstallers();
}
if (!$installer->run()) { if (!$installer->run()) {
return 1; return 1;
}
} }
$hasVcs = $installedFromVcs; $hasVcs = $installedFromVcs;

Loading…
Cancel
Save