/** * Find the lowest stability. * * @param string[] $stabilities The list of stability * @param VersionParser $versionParser The version parser * * @return string The lowest stability */ public static function findInlineStabilities(array $stabilities, VersionParser $versionParser) { $lowestStability = 'stable'; foreach ($stabilities as $stability) { $stability = $versionParser->normalizeStability($stability); $stability = $versionParser->parseStability($stability); if (Package::$stabilities[$stability] > Package::$stabilities[$lowestStability]) { $lowestStability = $stability; } } return $lowestStability; }
/** * Check if the require dependency has a satisfactory stability. * * @param Link $require The require link defined in root package * @param string $normalizedVersion The normalized version * * @return bool */ protected function satisfyStability(Link $require, $normalizedVersion) { $requireStability = $this->getRequireStability($require); $stability = $this->versionParser->parseStability($normalizedVersion); return Package::$stabilities[$stability] <= Package::$stabilities[$requireStability]; }
/** * Normalize the alias of branch. * * @param PackageInterface $package The package instance * * @return string The alias branch name */ protected function normalizeBranchAlias(PackageInterface $package) { $stability = VersionParser::parseStability($this->versionParser->normalize($this->rootPackageVersion)); $aliasNormalized = 'dev-' . $this->rootPackageVersion; if (BasePackage::STABILITY_STABLE === BasePackage::$stabilities[$stability] && null === $this->findPackage($package->getName(), $this->rootPackageVersion)) { $aliasNormalized = $this->versionParser->normalize($this->rootPackageVersion); } return $aliasNormalized; }