getRootModule() public method

If the collection contains no root module, null is returned.
public getRootModule ( ) : Puli\Manager\Api\Module\RootModule | null
return Puli\Manager\Api\Module\RootModule | null The root module or `null` if none exists.
コード例 #1
0
ファイル: DiscoveryManagerImpl.php プロジェクト: puli/manager
 /**
  * Creates a tag manager.
  *
  * @param ProjectContext       $context
  * @param EditableDiscovery    $discovery
  * @param ModuleList           $modules
  * @param JsonStorage          $jsonStorage
  * @param LoggerInterface|null $logger
  */
 public function __construct(ProjectContext $context, EditableDiscovery $discovery, ModuleList $modules, JsonStorage $jsonStorage, LoggerInterface $logger = null)
 {
     $this->context = $context;
     $this->discovery = $discovery;
     $this->modules = $modules;
     $this->jsonStorage = $jsonStorage;
     $this->rootModule = $modules->getRootModule();
     $this->rootModuleFile = $context->getRootModuleFile();
     $this->logger = $logger ?: new NullLogger();
 }
コード例 #2
0
 public function __construct(RootModuleFileManager $rootModuleFileManager, ModuleList $modules)
 {
     $this->rootModuleFileManager = $rootModuleFileManager;
     $this->modules = $modules;
     $this->rootModule = $modules->getRootModule();
 }
コード例 #3
0
ファイル: DependencyGraph.php プロジェクト: puli/manager
 /**
  * Creates an override graph for the given modules.
  *
  * @param ModuleList $modules The modules to load.
  *
  * @return static The created override graph.
  */
 public static function forModules(ModuleList $modules)
 {
     $graph = new static($modules->getModuleNames());
     foreach ($modules as $module) {
         if (null === $module->getModuleFile()) {
             continue;
         }
         foreach ($module->getModuleFile()->getDependencies() as $dependency) {
             if ($graph->hasModuleName($dependency)) {
                 $graph->addDependency($module->getName(), $dependency);
             }
         }
     }
     // Do we have a root module?
     if (null === $modules->getRootModule()) {
         return $graph;
     }
     // Make sure we have numeric, ascending keys here
     $moduleOrder = array_values($modules->getRootModule()->getModuleFile()->getModuleOrder());
     // Each module overrides the previous one in the list
     for ($i = 1, $l = count($moduleOrder); $i < $l; ++$i) {
         $dependency = $moduleOrder[$i - 1];
         $moduleName = $moduleOrder[$i];
         if ($graph->hasModuleName($dependency)) {
             $graph->addDependency($moduleName, $dependency);
         }
     }
     return $graph;
 }
コード例 #4
0
 /**
  * Creates a repository manager.
  *
  * @param ProjectContext     $context
  * @param EditableRepository $repo
  * @param ModuleList         $modules
  * @param JsonStorage        $jsonStorage
  */
 public function __construct(ProjectContext $context, EditableRepository $repo, ModuleList $modules, JsonStorage $jsonStorage)
 {
     $this->context = $context;
     $this->dispatcher = $context->getEventDispatcher();
     $this->repo = $repo;
     $this->config = $context->getConfig();
     $this->rootDir = $context->getRootDirectory();
     $this->rootModule = $modules->getRootModule();
     $this->rootModuleFile = $context->getRootModuleFile();
     $this->modules = $modules;
     $this->jsonStorage = $jsonStorage;
 }
コード例 #5
0
ファイル: ModuleManagerImpl.php プロジェクト: puli/manager
 /**
  * {@inheritdoc}
  */
 public function getRootModule()
 {
     $this->assertModulesLoaded();
     return $this->modules->getRootModule();
 }