function BasePackage::getFullPrettyVersion
@inheritDoc
Overrides PackageInterface::getFullPrettyVersion
File
-
vendor/
composer/ composer/ src/ Composer/ Package/ BasePackage.php, line 207
Class
- BasePackage
- Base class for packages providing name storage and default match implementation
Namespace
Composer\PackageCode
public function getFullPrettyVersion(bool $truncate = true, int $displayMode = PackageInterface::DISPLAY_SOURCE_REF_IF_DEV) : string {
if ($displayMode === PackageInterface::DISPLAY_SOURCE_REF_IF_DEV && (!$this->isDev() || !\in_array($this->getSourceType(), [
'hg',
'git',
]))) {
return $this->getPrettyVersion();
}
switch ($displayMode) {
case PackageInterface::DISPLAY_SOURCE_REF_IF_DEV:
case PackageInterface::DISPLAY_SOURCE_REF:
$reference = $this->getSourceReference();
break;
case PackageInterface::DISPLAY_DIST_REF:
$reference = $this->getDistReference();
break;
default:
throw new \UnexpectedValueException('Display mode ' . $displayMode . ' is not supported');
}
if (null === $reference) {
return $this->getPrettyVersion();
}
// if source reference is a sha1 hash -- truncate
if ($truncate && \strlen($reference) === 40 && $this->getSourceType() !== 'svn') {
return $this->getPrettyVersion() . ' ' . substr($reference, 0, 7);
}
return $this->getPrettyVersion() . ' ' . $reference;
}