示例#1
0
 protected function preProcess(VcsDriverInterface $driver, array $data, $identifier)
 {
     // keep the name of the main identifier for all packages
     $data['name'] = $this->packageName ?: $data['name'];
     if (!isset($data['dist'])) {
         $data['dist'] = $driver->getDist($identifier);
     }
     if (!isset($data['source'])) {
         $data['source'] = $driver->getSource($identifier);
     }
     return $data;
 }
    /**
     * Pre process the data of package before the conversion to Package instance.
     *
     * @param VcsDriverInterface $driver
     * @param array              $data
     * @param string             $identifier
     *
     * @return array
     */
    protected function preProcess(VcsDriverInterface $driver, array $data, $identifier)
    {
        $vcsRepos = array();
        $data = array_merge($data, $this->packageData);
        $data = $this->assetType->getPackageConverter()->convert($data, $vcsRepos);

        $this->dispatchAddVcsEvent($vcsRepos);

        if (!isset($data['dist'])) {
            $data['dist'] = $driver->getDist($identifier);
        }
        if (!isset($data['source'])) {
            $data['source'] = $driver->getSource($identifier);
        }

        return  (array) $data;
    }
示例#3
0
 /**
  * Pre inits the branch of complete package.
  *
  * @param VcsDriverInterface $driver     The vcs driver
  * @param array              $data       The asset package data
  * @param string             $branch     The branch name
  * @param string             $identifier The branch identifier
  */
 protected function preInitBranchPackage(VcsDriverInterface $driver, array $data, $branch, $identifier)
 {
     $packageName = $this->createPackageName();
     $data = array_merge($this->createMockOfPackageConfig($packageName, $branch), $data);
     $data = $this->preProcessAsset($data);
     $data['version'] = $branch;
     $data = $this->configureBranchPackage($branch, $data);
     if (!isset($data['dist'])) {
         $data['dist'] = $driver->getDist($identifier);
     }
     if (!isset($data['source'])) {
         $data['source'] = $driver->getSource($identifier);
     }
     $loader = new ArrayLoader();
     $package = $loader->load($data);
     $package = $this->includeBranchAlias($driver, $package, $branch);
     $this->addPackage($package);
 }
示例#4
0
 private function preProcess(VcsDriverInterface $driver, array $data, $identifier)
 {
     $data['name'] = $this->packageName ?: $data['name'];
     if (!isset($data['dist'])) {
         $data['dist'] = $driver->getDist($identifier);
     }
     if (!isset($data['source'])) {
         $data['source'] = $driver->getSource($identifier);
     }
     return $data;
 }
 protected function loadVcsVersions(VcsDriverInterface $driver, $package, $identifiers, $type)
 {
     $packages = array();
     foreach ($identifiers as $ref => $identifier) {
         $data = array();
         $data['name'] = $package;
         switch ($type) {
             case 'branch':
                 if ($parsedVersion = $this->validateBranch($ref)) {
                     $data['version'] = $ref;
                     $data['version_normalized'] = $parsedVersion;
                 }
                 if ('dev-' === substr($parsedVersion, 0, 4) || self::VERSION_LIMIT === $parsedVersion) {
                     $data['version'] = 'dev-' . $data['version'];
                 } else {
                     $data['version'] = preg_replace('{(\\.9{7})+}', '.x', $parsedVersion);
                 }
                 break;
             case 'tag':
                 if ($parsedVersion = $this->validateTag($ref)) {
                     $data['version'] = $ref;
                     $data['version_normalized'] = $parsedVersion;
                     $data['version'] = preg_replace('{[.-]?dev$}i', '', $data['version']);
                     $data['version_normalized'] = preg_replace('{(^dev-|[.-]?dev$)}i', '', $data['version_normalized']);
                     if ($data['version_normalized'] !== $parsedVersion) {
                         if ($this->io->isVerbose()) {
                             $this->io->write('<warning>Skipped tag ' . $ref . ', tag (' . $parsedVersion . ') does not match version (' . $data['version_normalized'] . ')</warning>');
                         }
                         continue;
                     }
                 }
                 break;
             default:
                 $parsedVersion = false;
         }
         if (!$parsedVersion) {
             if ($this->io->isVerbose()) {
                 $this->io->write('<warning>Skipped ' . $type . ' ' . $ref . ', invalid name</warning>');
             }
             continue;
         }
         if ($this->io->isVerbose()) {
             $this->io->write('Importing ' . $type . ' ' . $ref . ' (' . $data['version_normalized'] . ')');
         }
         $data['source'] = $driver->getSource($identifier);
         $data['time'] = $this->getModifiedTimestamp($driver->getUrl() . '/' . $identifier);
         $data['type'] = $this->type;
         $packages[] = $this->getComposerMetadata($driver, $data, $identifier);
     }
     return $packages;
 }
 /**
  * Make proper package data
  *
  * @param VcsDriverInterface $driver
  * @param array $data
  * @param string $identifier
  * @return array
  */
 protected function preProcess(VcsDriverInterface $driver, array $data, $identifier)
 {
     // keep the name of the main identifier for all packages
     if ($this->packageName != $this->url) {
         $namespace = preg_replace('/([a-z0-9])([A-Z])/', '$1_$2', $data['namespace']);
         $namespace = strtolower($namespace);
         $data['name'] = $this->packageName . '-' . $namespace;
     }
     if (!isset($data['dist'])) {
         $data['dist'] = $driver->getDist($identifier);
     }
     if (!isset($data['source'])) {
         $data['source'] = $driver->getSource($identifier);
         $data['source']['type'] = $this->repoConfig['type'];
     }
     return $data;
 }