コード例 #1
0
 public function __construct(RootModuleFileManager $rootModuleFileManager, ModuleCollection $modules)
 {
     $this->rootModuleFileManager = $rootModuleFileManager;
     $this->modules = $modules;
     $this->rootModule = $modules->getRootModule();
 }
コード例 #2
0
 /**
  * Creates a tag manager.
  *
  * @param ProjectContext       $context
  * @param EditableDiscovery    $discovery
  * @param ModuleCollection     $modules
  * @param ModuleFileStorage    $moduleFileStorage
  * @param LoggerInterface|null $logger
  */
 public function __construct(ProjectContext $context, EditableDiscovery $discovery, ModuleCollection $modules, ModuleFileStorage $moduleFileStorage, LoggerInterface $logger = null)
 {
     $this->context = $context;
     $this->discovery = $discovery;
     $this->modules = $modules;
     $this->moduleFileStorage = $moduleFileStorage;
     $this->rootModule = $modules->getRootModule();
     $this->rootModuleFile = $context->getRootModuleFile();
     $this->logger = $logger ?: new NullLogger();
 }
コード例 #3
0
 /**
  * {@inheritdoc}
  */
 public function getRootModule()
 {
     $this->assertModulesLoaded();
     return $this->modules->getRootModule();
 }
コード例 #4
0
ファイル: OverrideGraph.php プロジェクト: sensorario/manager
 /**
  * Creates an override graph for the given modules.
  *
  * @param ModuleCollection $modules The modules to load.
  *
  * @return static The created override graph.
  */
 public static function forModules(ModuleCollection $modules)
 {
     $graph = new static($modules->getModuleNames());
     foreach ($modules as $module) {
         if (null === $module->getModuleFile()) {
             continue;
         }
         foreach ($module->getModuleFile()->getOverriddenModules() as $overriddenModule) {
             if ($graph->hasModuleName($overriddenModule)) {
                 $graph->addEdge($overriddenModule, $module->getName());
             }
         }
     }
     // 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()->getOverrideOrder());
     // Each module overrides the previous one in the list
     for ($i = 1, $l = count($moduleOrder); $i < $l; ++$i) {
         $overriddenModule = $moduleOrder[$i - 1];
         $overridingModule = $moduleOrder[$i];
         if ($graph->hasModuleName($overriddenModule)) {
             $graph->addEdge($overriddenModule, $overridingModule);
         }
     }
     return $graph;
 }
コード例 #5
0
 /**
  * Creates a repository manager.
  *
  * @param ProjectContext     $context
  * @param EditableRepository $repo
  * @param ModuleCollection   $modules
  * @param ModuleFileStorage  $moduleFileStorage
  */
 public function __construct(ProjectContext $context, EditableRepository $repo, ModuleCollection $modules, ModuleFileStorage $moduleFileStorage)
 {
     $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->moduleFileStorage = $moduleFileStorage;
 }