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 ($operation->getJobType() === 'install') {
            if (isset($packageExtraConfig['typo3/flow']['post-install'])) {
                self::runPackageScripts($packageExtraConfig['typo3/flow']['post-install']);
            }
            if (isset($packageExtraConfig['neos/flow']['post-install'])) {
                self::runPackageScripts($packageExtraConfig['neos/flow']['post-install']);
            }
        }

        if ($operation->getJobType() === 'update') {
            if (isset($packageExtraConfig['typo3/flow']['post-update'])) {
                self::runPackageScripts($packageExtraConfig['typo3/flow']['post-update']);
            }
            if (isset($packageExtraConfig['neos/flow']['post-update'])) {
                self::runPackageScripts($packageExtraConfig['neos/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/');
        }
    }
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 ($operation->getJobType() === 'install') {
            if (isset($packageExtraConfig['typo3/flow']['post-install'])) {
                self::runPackageScripts($packageExtraConfig['typo3/flow']['post-install']);
            }
            if (isset($packageExtraConfig['neos/flow']['post-install'])) {
                self::runPackageScripts($packageExtraConfig['neos/flow']['post-install']);
            }
        }

        if ($operation->getJobType() === 'update') {
            if (isset($packageExtraConfig['typo3/flow']['post-update'])) {
                self::runPackageScripts($packageExtraConfig['typo3/flow']['post-update']);
            }
            if (isset($packageExtraConfig['neos/flow']['post-update'])) {
                self::runPackageScripts($packageExtraConfig['neos/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/');
        }
    }
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 ( $ operation -> getJobType ( ) === 'install' ) { if ( isset ( $ packageExtraConfig [ 'typo3/flow' ] [ 'post-install' ] ) ) { self :: runPackageScripts ( $ packageExtraConfig [ 'typo3/flow' ] [ 'post-install' ] ) ; } if ( isset ( $ packageExtraConfig [ 'neos/flow' ] [ 'post-install' ] ) ) { self :: runPackageScripts ( $ packageExtraConfig [ 'neos/flow' ] [ 'post-install' ] ) ; } } if ( $ operation -> getJobType ( ) === 'update' ) { if ( isset ( $ packageExtraConfig [ 'typo3/flow' ] [ 'post-update' ] ) ) { self :: runPackageScripts ( $ packageExtraConfig [ 'typo3/flow' ] [ 'post-update' ] ) ; } if ( isset ( $ packageExtraConfig [ 'neos/flow' ] [ 'post-update' ] ) ) { self :: runPackageScripts ( $ packageExtraConfig [ 'neos/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/' ) ; } }
Calls actions and install scripts provided by installed packages.

@param PackageEvent $event
@return void
@throws Exception\UnexpectedOperationException
Calls actions and install scripts provided by installed packages .