public function buildEssentialsSequence(string $identifier): Sequence
    {
        $sequence = new Sequence($identifier);

        if ($this->context->isProduction()) {
            $lockManager = new LockManager();
            $lockManager->exitIfSiteLocked();
            if ($identifier === 'compiletime') {
                $lockManager->lockSiteOrExit();
                // make sure the site is unlocked even if the script ends unexpectedly due to an error/exception
                register_shutdown_function([$lockManager, 'unlockSite']);
            }
            $this->setEarlyInstance(LockManager::class, $lockManager);
        }

        $sequence->addStep(new Step('neos.flow:annotationregistry', [Scripts::class, 'registerClassLoaderInAnnotationRegistry']));
        $sequence->addStep(new Step('neos.flow:configuration', [Scripts::class, 'initializeConfiguration']), 'neos.flow:annotationregistry');
        $sequence->addStep(new Step('neos.flow:systemlogger', [Scripts::class, 'initializeSystemLogger']), 'neos.flow:configuration');

        $sequence->addStep(new Step('neos.flow:errorhandling', [Scripts::class, 'initializeErrorHandling']), 'neos.flow:systemlogger');
        $sequence->addStep(new Step('neos.flow:cachemanagement', [Scripts::class, 'initializeCacheManagement']), 'neos.flow:systemlogger');
        return $sequence;
    }
public function buildEssentialsSequence(string $identifier): Sequence
    {
        $sequence = new Sequence($identifier);

        if ($this->context->isProduction()) {
            $lockManager = new LockManager();
            $lockManager->exitIfSiteLocked();
            if ($identifier === 'compiletime') {
                $lockManager->lockSiteOrExit();
                // make sure the site is unlocked even if the script ends unexpectedly due to an error/exception
                register_shutdown_function([$lockManager, 'unlockSite']);
            }
            $this->setEarlyInstance(LockManager::class, $lockManager);
        }

        $sequence->addStep(new Step('neos.flow:annotationregistry', [Scripts::class, 'registerClassLoaderInAnnotationRegistry']));
        $sequence->addStep(new Step('neos.flow:configuration', [Scripts::class, 'initializeConfiguration']), 'neos.flow:annotationregistry');
        $sequence->addStep(new Step('neos.flow:systemlogger', [Scripts::class, 'initializeSystemLogger']), 'neos.flow:configuration');

        $sequence->addStep(new Step('neos.flow:errorhandling', [Scripts::class, 'initializeErrorHandling']), 'neos.flow:systemlogger');
        $sequence->addStep(new Step('neos.flow:cachemanagement', [Scripts::class, 'initializeCacheManagement']), 'neos.flow:systemlogger');
        return $sequence;
    }
public function buildEssentialsSequence ( string $ identifier ) : Sequence { $ sequence = new Sequence ( $ identifier ) ; if ( $ this -> context -> isProduction ( ) ) { $ lockManager = new LockManager ( ) ; $ lockManager -> exitIfSiteLocked ( ) ; if ( $ identifier === 'compiletime' ) { $ lockManager -> lockSiteOrExit ( ) ; // make sure the site is unlocked even if the script ends unexpectedly due to an error/exception register_shutdown_function ( [ $ lockManager , 'unlockSite' ] ) ; } $ this -> setEarlyInstance ( LockManager :: class , $ lockManager ) ; } $ sequence -> addStep ( new Step ( 'neos.flow:annotationregistry' , [ Scripts :: class , 'registerClassLoaderInAnnotationRegistry' ] ) ) ; $ sequence -> addStep ( new Step ( 'neos.flow:configuration' , [ Scripts :: class , 'initializeConfiguration' ] ) , 'neos.flow:annotationregistry' ) ; $ sequence -> addStep ( new Step ( 'neos.flow:systemlogger' , [ Scripts :: class , 'initializeSystemLogger' ] ) , 'neos.flow:configuration' ) ; $ sequence -> addStep ( new Step ( 'neos.flow:errorhandling' , [ Scripts :: class , 'initializeErrorHandling' ] ) , 'neos.flow:systemlogger' ) ; $ sequence -> addStep ( new Step ( 'neos.flow:cachemanagement' , [ Scripts :: class , 'initializeCacheManagement' ] ) , 'neos.flow:systemlogger' ) ; return $ sequence ; }
Builds a boot sequence with the minimum modules necessary for both, compiletime
and runtime.

@param string $identifier
@return Sequence
@api
Builds a boot sequence with the minimum modules necessary for both compiletime and runtime .