/** * Generate a site package and fill it with boilerplate data. * * @param string $packageKey * @param string $siteName * @return array */ public function generateSitePackage($packageKey, $siteName) { $packageMetaData = new MetaData($packageKey); $packageMetaData->addConstraint(new PackageConstraint(MetaDataInterface::CONSTRAINT_TYPE_DEPENDS, 'TYPO3.Neos')); $packageMetaData->addConstraint(new PackageConstraint(MetaDataInterface::CONSTRAINT_TYPE_DEPENDS, 'TYPO3.Neos.NodeTypes')); $packageMetaData->addConstraint(new PackageConstraint(MetaDataInterface::CONSTRAINT_TYPE_SUGGESTS, 'TYPO3.Neos.Seo')); $this->packageManager->createPackage($packageKey, $packageMetaData, null, 'typo3-flow-site'); $this->generateSitesXml($packageKey, $siteName); $this->generateSitesTypoScript($packageKey, $siteName); $this->generateSitesTemplate($packageKey, $siteName); $this->generateNodeTypesConfiguration($packageKey); $this->generateAdditionalFolders($packageKey); return $this->generatedFiles; }
/** * Returns the package meta data object of this package. * * @return \TYPO3\Flow\Package\MetaData */ public function getPackageMetaData() { if ($this->packageMetaData === null) { $this->packageMetaData = new MetaData($this->getPackageKey()); $this->packageMetaData->setDescription($this->getComposerManifest('description')); $this->packageMetaData->setVersion($this->getComposerManifest('version')); $this->packageMetaData->setPackageType($this->getComposerManifest('type')); $requirements = $this->getComposerManifest('require'); if ($requirements !== null) { foreach ($requirements as $requirement => $version) { if ($this->packageRequirementIsComposerPackage($requirement) === false) { // Skip non-package requirements continue; } try { $packageKey = $this->packageManager->getPackageKeyFromComposerName($requirement); } catch (Exception\InvalidPackageStateException $exception) { continue; } $constraint = new MetaData\PackageConstraint(MetaDataInterface::CONSTRAINT_TYPE_DEPENDS, $packageKey); $this->packageMetaData->addConstraint($constraint); } } } return $this->packageMetaData; }
/** * Returns the package meta data object of this package. * * @return \TYPO3\Flow\Package\MetaData */ public function getPackageMetaData() { if ($this->packageMetaData === NULL) { $this->packageMetaData = new MetaData($this->getPackageKey()); $this->packageMetaData->setDescription($this->getComposerManifest('description')); $this->packageMetaData->setVersion($this->getComposerManifest('version')); $requirements = $this->getComposerManifest('require'); if ($requirements !== NULL) { foreach ($requirements as $requirement => $version) { if ($this->packageRequirementIsComposerPackage($requirement) === FALSE) { // Skip non-package requirements continue; } $packageKey = $this->packageManager->getPackageKeyFromComposerName($requirement); $constraint = new MetaData\PackageConstraint(MetaDataInterface::CONSTRAINT_TYPE_DEPENDS, $packageKey); $this->packageMetaData->addConstraint($constraint); } } } return $this->packageMetaData; }