public static postPackageUpdateAndInstall ( Composer\Installer\PackageEvent $event ) : void | ||
$event | Composer\Installer\PackageEvent | |
Результат | void |
public static function postPackageUpdateAndInstall(PackageEvent $event)
{
$operation = $event->getOperation();
if (!$operation instanceof InstallOperation && !$operation instanceof UpdateOperation) {
throw new Exception\UnexpectedOperationException('Handling of operation with type "' . $operation->getJobType() . '" not supported', 1348750840);
}
$package = $operation->getJobType() === 'install' ? $operation->getPackage() : $operation->getTargetPackage();
$packageExtraConfig = $package->getExtra();
$installPath = $event->getComposer()->getInstallationManager()->getInstallPath($package);
$evaluatedInstallerResources = false;
if (isset($packageExtraConfig['neos']['installer-resource-folders'])) {
foreach ($packageExtraConfig['neos']['installer-resource-folders'] as $installerResourceDirectory) {
static::copyDistributionFiles($installPath . $installerResourceDirectory);
}
$evaluatedInstallerResources = true;
}
if (isset($packageExtraConfig['typo3/flow']['post-install']) && $operation->getJobType() === 'install') {
self::runPackageScripts($packageExtraConfig['typo3/flow']['post-install']);
}
if (isset($packageExtraConfig['typo3/flow']['post-update']) && $operation->getJobType() === 'update') {
self::runPackageScripts($packageExtraConfig['typo3/flow']['post-update']);
}
// TODO: Deprecated from Flow 3.1 remove three versions after.
if (!$evaluatedInstallerResources && isset($packageExtraConfig['typo3/flow']['manage-resources']) && $packageExtraConfig['typo3/flow']['manage-resources'] === true) {
static::copyDistributionFiles($installPath . 'Resources/Private/Installer/');
}
}