Merge pull request #2629 from moranjk/master
Implemented Pre/Post Archive Script Eventspull/2642/merge
commit
0238aaf5ac
|
@ -40,6 +40,8 @@ Composer fires the following named events during its execution process:
|
|||
installed, during the `create-project` command.
|
||||
- **post-create-project-cmd**: occurs after the `create-project` command is
|
||||
executed.
|
||||
- **pre-archive-cmd**: occurs before the `archive` command is executed.
|
||||
- **post-archive-cmd**: occurs after the `archive` command is executed.
|
||||
|
||||
**NOTE: Composer makes no assumptions about the state of your dependencies
|
||||
prior to `install` or `update`. Therefore, you should not specify scripts that
|
||||
|
|
|
@ -17,6 +17,7 @@ use Composer\IO\IOInterface;
|
|||
use Composer\DependencyResolver\Pool;
|
||||
use Composer\Package\LinkConstraint\VersionConstraint;
|
||||
use Composer\Repository\CompositeRepository;
|
||||
use Composer\Script\ScriptEvents;
|
||||
|
||||
use Symfony\Component\Console\Input\InputArgument;
|
||||
use Symfony\Component\Console\Input\InputInterface;
|
||||
|
@ -55,13 +56,20 @@ EOT
|
|||
|
||||
protected function execute(InputInterface $input, OutputInterface $output)
|
||||
{
|
||||
return $this->archive(
|
||||
$this->getComposer()->getEventDispatcher()->dispatchScript(ScriptEvents::PRE_ARCHIVE_CMD);
|
||||
|
||||
$returnCode = $this->archive(
|
||||
$this->getIO(),
|
||||
$input->getArgument('package'),
|
||||
$input->getArgument('version'),
|
||||
$input->getOption('format'),
|
||||
$input->getOption('dir')
|
||||
);
|
||||
|
||||
if (0 === $returnCode) {
|
||||
$this->getComposer()->getEventDispatcher()->dispatchScript(ScriptEvents::POST_ARCHIVE_CMD);
|
||||
}
|
||||
return $returnCode;
|
||||
}
|
||||
|
||||
protected function archive(IOInterface $io, $packageName = null, $version = null, $format = 'tar', $dest = '.')
|
||||
|
|
|
@ -165,4 +165,22 @@ class ScriptEvents
|
|||
*/
|
||||
const POST_CREATE_PROJECT_CMD = 'post-create-project-cmd';
|
||||
|
||||
/**
|
||||
* The PRE_ARCHIVE_CMD event occurs before the update command is executed.
|
||||
*
|
||||
* The event listener method receives a Composer\Script\CommandEvent instance.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
const PRE_ARCHIVE_CMD = 'pre-archive-cmd';
|
||||
|
||||
/**
|
||||
* The POST_ARCHIVE_CMD event occurs after the status command is executed.
|
||||
*
|
||||
* The event listener method receives a Composer\Script\CommandEvent instance.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
const POST_ARCHIVE_CMD = 'post-archive-cmd';
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue