Neos\Flow\Composer\InstallerScripts::postPackageUpdateAndInstall PHP Метод

postPackageUpdateAndInstall() публичный статический Метод

Calls actions and install scripts provided by installed packages.
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/');
        }
    }