add --skip-scripts option to install/update commands.
parent
6c9c1f17ef
commit
cc8b33117a
|
@ -33,6 +33,7 @@ class InstallCommand extends Command
|
||||||
new InputOption('prefer-source', null, InputOption::VALUE_NONE, 'Forces installation from package sources when possible, including VCS information.'),
|
new InputOption('prefer-source', null, InputOption::VALUE_NONE, 'Forces installation from package sources when possible, including VCS information.'),
|
||||||
new InputOption('dry-run', null, InputOption::VALUE_NONE, 'Outputs the operations but will not execute anything (implicitly enables --verbose).'),
|
new InputOption('dry-run', null, InputOption::VALUE_NONE, 'Outputs the operations but will not execute anything (implicitly enables --verbose).'),
|
||||||
new InputOption('dev', null, InputOption::VALUE_NONE, 'Enables installation of dev-require packages.'),
|
new InputOption('dev', null, InputOption::VALUE_NONE, 'Enables installation of dev-require packages.'),
|
||||||
|
new InputOption('skip-scripts', null, InputOption::VALUE_NONE, 'Skips the execution of all scripts defines in composer.json file.'),
|
||||||
))
|
))
|
||||||
->setHelp(<<<EOT
|
->setHelp(<<<EOT
|
||||||
The <info>install</info> command reads the composer.json file from the
|
The <info>install</info> command reads the composer.json file from the
|
||||||
|
@ -57,6 +58,7 @@ EOT
|
||||||
->setVerbose($input->getOption('verbose'))
|
->setVerbose($input->getOption('verbose'))
|
||||||
->setPreferSource($input->getOption('prefer-source'))
|
->setPreferSource($input->getOption('prefer-source'))
|
||||||
->setDevMode($input->getOption('dev'))
|
->setDevMode($input->getOption('dev'))
|
||||||
|
->setSkipScripts($input->getOption('skip-scripts'))
|
||||||
;
|
;
|
||||||
|
|
||||||
return $install->run() ? 0 : 1;
|
return $install->run() ? 0 : 1;
|
||||||
|
|
|
@ -31,6 +31,7 @@ class UpdateCommand extends Command
|
||||||
new InputOption('prefer-source', null, InputOption::VALUE_NONE, 'Forces installation from package sources when possible, including VCS information.'),
|
new InputOption('prefer-source', null, InputOption::VALUE_NONE, 'Forces installation from package sources when possible, including VCS information.'),
|
||||||
new InputOption('dry-run', null, InputOption::VALUE_NONE, 'Outputs the operations but will not execute anything (implicitly enables --verbose).'),
|
new InputOption('dry-run', null, InputOption::VALUE_NONE, 'Outputs the operations but will not execute anything (implicitly enables --verbose).'),
|
||||||
new InputOption('dev', null, InputOption::VALUE_NONE, 'Enables installation of dev-require packages.'),
|
new InputOption('dev', null, InputOption::VALUE_NONE, 'Enables installation of dev-require packages.'),
|
||||||
|
new InputOption('skip-scripts', null, InputOption::VALUE_NONE, 'Skips the execution of all scripts defines in composer.json file.'),
|
||||||
))
|
))
|
||||||
->setHelp(<<<EOT
|
->setHelp(<<<EOT
|
||||||
The <info>update</info> command reads the composer.json file from the
|
The <info>update</info> command reads the composer.json file from the
|
||||||
|
@ -55,6 +56,7 @@ EOT
|
||||||
->setVerbose($input->getOption('verbose'))
|
->setVerbose($input->getOption('verbose'))
|
||||||
->setPreferSource($input->getOption('prefer-source'))
|
->setPreferSource($input->getOption('prefer-source'))
|
||||||
->setDevMode($input->getOption('dev'))
|
->setDevMode($input->getOption('dev'))
|
||||||
|
->setSkipScripts($input->getOption('skip-scripts'))
|
||||||
->setUpdate(true)
|
->setUpdate(true)
|
||||||
;
|
;
|
||||||
|
|
||||||
|
|
|
@ -88,6 +88,7 @@ class Installer
|
||||||
protected $dryRun = false;
|
protected $dryRun = false;
|
||||||
protected $verbose = false;
|
protected $verbose = false;
|
||||||
protected $update = false;
|
protected $update = false;
|
||||||
|
protected $skipScripts = false;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var array
|
* @var array
|
||||||
|
@ -151,7 +152,7 @@ class Installer
|
||||||
|
|
||||||
$aliases = $this->aliasPackages();
|
$aliases = $this->aliasPackages();
|
||||||
|
|
||||||
if (!$this->dryRun) {
|
if (!$this->dryRun && !$this->skipScripts) {
|
||||||
// dispatch pre event
|
// dispatch pre event
|
||||||
$eventName = $this->update ? ScriptEvents::PRE_UPDATE_CMD : ScriptEvents::PRE_INSTALL_CMD;
|
$eventName = $this->update ? ScriptEvents::PRE_UPDATE_CMD : ScriptEvents::PRE_INSTALL_CMD;
|
||||||
$this->eventDispatcher->dispatchCommandEvent($eventName);
|
$this->eventDispatcher->dispatchCommandEvent($eventName);
|
||||||
|
@ -194,9 +195,11 @@ class Installer
|
||||||
$localRepos = new CompositeRepository($this->repositoryManager->getLocalRepositories());
|
$localRepos = new CompositeRepository($this->repositoryManager->getLocalRepositories());
|
||||||
$this->autoloadGenerator->dump($localRepos, $this->package, $this->installationManager, $this->installationManager->getVendorPath() . '/composer', true);
|
$this->autoloadGenerator->dump($localRepos, $this->package, $this->installationManager, $this->installationManager->getVendorPath() . '/composer', true);
|
||||||
|
|
||||||
// dispatch post event
|
if (!$this->skipScripts) {
|
||||||
$eventName = $this->update ? ScriptEvents::POST_UPDATE_CMD : ScriptEvents::POST_INSTALL_CMD;
|
// dispatch post event
|
||||||
$this->eventDispatcher->dispatchCommandEvent($eventName);
|
$eventName = $this->update ? ScriptEvents::POST_UPDATE_CMD : ScriptEvents::POST_INSTALL_CMD;
|
||||||
|
$this->eventDispatcher->dispatchCommandEvent($eventName);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
@ -496,7 +499,7 @@ class Installer
|
||||||
/**
|
/**
|
||||||
* enables dev packages
|
* enables dev packages
|
||||||
*
|
*
|
||||||
* @param boolean $update
|
* @param boolean $devMode
|
||||||
* @return Installer
|
* @return Installer
|
||||||
*/
|
*/
|
||||||
public function setDevMode($devMode = true)
|
public function setDevMode($devMode = true)
|
||||||
|
@ -506,6 +509,19 @@ class Installer
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* skips scripts execution
|
||||||
|
*
|
||||||
|
* @param boolean $skipScripts
|
||||||
|
* @return Installer
|
||||||
|
*/
|
||||||
|
public function setSkipScripts($skipScripts = true)
|
||||||
|
{
|
||||||
|
$this->skipScripts = (boolean) $skipScripts;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* run in verbose mode
|
* run in verbose mode
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in New Issue