protected function writeItemGroupProjectConfig(DOMElement $parent) { /** @var DOMElement $element */ $element = $parent->appendChild($this->dom->createElement('ItemGroup')); $element->setAttribute('Label', 'ProjectConfigurations'); foreach ($this->project->getConfigurations() as $configuration) { $this->variableParser->push('ide.config', $configuration); $this->writeProjectConfig($element, $configuration); $this->variableParser->pop('ide.config'); } }
private function buildFileListFromProject(ArrayObject $result, ConfigInterface $config, Project $project) { if ($this->shouldCompileDependencies) { foreach ($project->getConfigurations() as $configuration) { $this->buildFileListFromConfiguration($result, $configuration); } } if (!$this->shouldCompileProjects && $this->buildDepth === 0) { return; } $result[$config->getVendor() . '/' . $config->getName()] = $project; }
protected function getDependencies(Project $project) { $result = []; foreach ($project->getConfigurations() as $configuration) { foreach ($configuration->getDependencies() as $dependency) { $dependentProject = $this->config->findProject($dependency->getName()); if ($dependentProject && !in_array($dependentProject, $result)) { $result[] = $dependentProject; } } } return $result; }