【发布时间】:2017-03-06 23:09:33
【问题描述】:
我正在编写一个Symfony Console PHP 应用程序,其中takes a version number in the constructor。
$app = new Application('myapp', '1.0');
我已经发现在发布新的 git 标签时很容易忘记修改版本号。如何动态/自动执行此操作?
除了这里,我非常深入地searched packagist,因为我确信这是一件很常见的事情,但没有发现任何东西。
一开始我想写一个函数来做这样的事情:
chdir(__DIR__);
shell_exec('git describe --abbrev=0 --tags');
但是因为我globally require this CLI app with composer,它没有带有源代码的git仓库。
我的下一个想法是我知道我至少可以从作曲家那里得到它
composer global show myname/mypackage
但这会吐出大量信息,而且我知道没有选项只显示版本号。我觉得用正则表达式之类的东西过滤所有这些可能有点过头了。有没有更好的办法?
【问题讨论】:
-
目标是什么?检测当前运行应用程序的工作目录中存储库的最新版本(按标签)?
-
是的,那很好,但就像我在问题中提到的那样,通过 composer 安装时没有 git 存储库。
-
目标是当我标记一个新版本时,我不想记住首先用版本号更新那个硬编码的字符串。
-
对。您可以每次都从 API 中动态检索它吗?还是有点矫枉过正?
标签: php git symfony composer-php command-line-interface