/**
  * 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;
 }
Example #3
0
 /**
  * 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;
 }