public function setVersion($version) { $result = strtolower($version); if (strtolower($version) === 'latest') { $result = $this->versions->getLatestRelease(); } elseif ($version != 'none') { $length = strlen($version); $format = is_numeric($version) || preg_match('/^v?\\d(\\.\\d+)?$/im', $version); if (substr($version, 0, 1) == 'v') { $length--; } if (($length == 1 || $length == 3) && $format) { $result = $this->versions->getLatestRelease($version); if ($result == '0.0.0') { $result = $version . ($length == 1 ? '.0.0' : '.0'); } } } if (!$this->versions->isBranch($result)) { $isTag = $this->versions->isTag($result); if (!$isTag) { $original = $result; if (substr($original, 0, 1) == 'v') { $result = substr($original, 1); } else { $result = 'v' . $original; } if (!$this->versions->isTag($result)) { throw new \RuntimeException(sprintf('Failed to find tag or branch "%s". Please refresh the version list first: `joomla versions --refresh`', $original)); } } } $this->version = $result; }
public function setVersion($version) { $result = strtolower($version); if (strtolower($version) === 'latest') { $result = $this->versions->getLatestRelease(); } elseif ($version != 'none') { $length = strlen($version); $format = is_numeric($version) || preg_match('/^\\d\\.\\d+$/im', $version); if (($length == 1 || $length == 3) && $format) { $result = $this->versions->getLatestRelease($version); if ($result == '0.0.0') { $result = $version . ($length == 1 ? '.0.0' : '.0'); } } } $this->version = $result; }