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; }
/** * 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); }
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; }