Add version release date to -V output, fixes #2267
parent
941498abbb
commit
5b96caf8ce
|
@ -24,6 +24,7 @@ use Symfony\Component\Process\Process;
|
|||
class Compiler
|
||||
{
|
||||
private $version;
|
||||
private $versionDate;
|
||||
|
||||
/**
|
||||
* Compiles composer into a single phar file
|
||||
|
@ -43,6 +44,14 @@ class Compiler
|
|||
}
|
||||
$this->version = trim($process->getOutput());
|
||||
|
||||
$process = new Process('git log -n1 --pretty=%ci HEAD', __DIR__);
|
||||
if ($process->run() != 0) {
|
||||
throw new \RuntimeException('Can\'t run git log. You must ensure to run compile from composer git repository clone and that git binary is available.');
|
||||
}
|
||||
$date = new \DateTime(trim($process->getOutput()));
|
||||
$date->setTimezone(new \DateTimeZone('UTC'));
|
||||
$this->versionDate = $date->format('Y-m-d H:i:s');
|
||||
|
||||
$process = new Process('git describe --tags HEAD');
|
||||
if ($process->run() == 0) {
|
||||
$this->version = trim($process->getOutput());
|
||||
|
@ -127,6 +136,7 @@ class Compiler
|
|||
}
|
||||
|
||||
$content = str_replace('@package_version@', $this->version, $content);
|
||||
$content = str_replace('@release_date@', $this->versionDate, $content);
|
||||
|
||||
$phar->addFromString($path, $content);
|
||||
}
|
||||
|
|
|
@ -29,6 +29,7 @@ use Composer\Autoload\AutoloadGenerator;
|
|||
class Composer
|
||||
{
|
||||
const VERSION = '@package_version@';
|
||||
const RELEASE_DATE = '@release_date@';
|
||||
|
||||
/**
|
||||
* @var Package\RootPackageInterface
|
||||
|
|
|
@ -235,6 +235,14 @@ class Application extends BaseApplication
|
|||
return $commands;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
public function getLongVersion()
|
||||
{
|
||||
return parent::getLongVersion() . ' ' . Composer::RELEASE_DATE;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
|
|
Loading…
Reference in New Issue