Added branch-alias for dev-master to --version|-V output when current version is actually a revision (a non release/git tag).
This replies the work done in #3352 respecting other uses of ```Composer::VERSION``` constant. | Q | A | ------------- | --- | Bug fix? | no | New feature? | yes | BC breaks? | no | Deprecations? | no | Tests pass? | yes | Fixed tickets | | Doc PR | nonepull/3362/head
parent
b0cabd1e98
commit
e36f2ea618
|
@ -12,6 +12,7 @@
|
|||
|
||||
namespace Composer;
|
||||
|
||||
use Composer\Json\JsonFile;
|
||||
use Symfony\Component\Finder\Finder;
|
||||
use Symfony\Component\Process\Process;
|
||||
|
||||
|
@ -24,6 +25,7 @@ use Symfony\Component\Process\Process;
|
|||
class Compiler
|
||||
{
|
||||
private $version;
|
||||
private $branchAliasVersion = '';
|
||||
private $versionDate;
|
||||
|
||||
/**
|
||||
|
@ -48,6 +50,13 @@ class Compiler
|
|||
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.');
|
||||
}
|
||||
$localConfig = __DIR__.'/../../composer.json';
|
||||
$file = new JsonFile($localConfig);
|
||||
$localConfig = $file->read();
|
||||
|
||||
if (isset($localConfig['extra']['branch-alias']['dev-master'])) {
|
||||
$this->branchAliasVersion = $localConfig['extra']['branch-alias']['dev-master'];
|
||||
}
|
||||
$date = new \DateTime(trim($process->getOutput()));
|
||||
$date->setTimezone(new \DateTimeZone('UTC'));
|
||||
$this->versionDate = $date->format('Y-m-d H:i:s');
|
||||
|
@ -138,6 +147,7 @@ class Compiler
|
|||
|
||||
if ($path === 'src/Composer/Composer.php') {
|
||||
$content = str_replace('@package_version@', $this->version, $content);
|
||||
$content = str_replace('@package_branch_alias_version@', $this->branchAliasVersion, $content);
|
||||
$content = str_replace('@release_date@', $this->versionDate, $content);
|
||||
}
|
||||
|
||||
|
|
|
@ -29,6 +29,7 @@ use Composer\Autoload\AutoloadGenerator;
|
|||
class Composer
|
||||
{
|
||||
const VERSION = '@package_version@';
|
||||
const BRANCH_ALIAS_VERSION = '@package_branch_alias_version@';
|
||||
const RELEASE_DATE = '@release_date@';
|
||||
|
||||
/**
|
||||
|
|
|
@ -265,6 +265,16 @@ class Application extends BaseApplication
|
|||
*/
|
||||
public function getLongVersion()
|
||||
{
|
||||
if (Composer::BRANCH_ALIAS_VERSION) {
|
||||
return sprintf(
|
||||
'<info>%s</info> version <comment>%s (%s)</comment> %s',
|
||||
$this->getName(),
|
||||
Composer::BRANCH_ALIAS_VERSION,
|
||||
$this->getVersion(),
|
||||
Composer::RELEASE_DATE
|
||||
);
|
||||
}
|
||||
|
||||
return parent::getLongVersion() . ' ' . Composer::RELEASE_DATE;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue