【发布时间】:2012-01-25 08:55:41
【问题描述】:
我想知道是否有人知道如何将文件/存储库的 Git 版本插入到注释块中,以便 PHP Doc 在生成文档时自动反映它?
【问题讨论】:
-
PHPDoc 在 Git 流行之前就停止了开发,所以我怀疑你能做到这一点。如果我是你,我会考虑改用更现代的文档生成器,例如 DocBlox 或 ApiGen。
我想知道是否有人知道如何将文件/存储库的 Git 版本插入到注释块中,以便 PHP Doc 在生成文档时自动反映它?
【问题讨论】:
phpDocumentor 不是将该信息放入文档的原因...它必须已经出现在您的文档块中。
听起来您已经习惯了在文档块中使用 $Id$ 标签,当您查看代码时,CVS 和 SVN 会自动填充这些标签……也就是“关键字扩展”。
Git 确实允许这样做 -- https://git-scm.com/book/en/v2/Customizing-Git-Git-Attributes#_keyword_expansion。
【讨论】:
您可以创建一个 phing 脚本来查找您项目的最新版本。并用每个文件/选定文件中的版本替换一个标记。
例如(我在示例中使用了 SVN) 在你的 phing 脚本中
获取最新的svn版本
<svnlastrevision workingcopy="${path.to.project.dir}" propertyname="svn.lastrevision" />
在您想要 svn 版本的文件中,放置一个名称为 @svn.lastrevision@ 的令牌
以下代码将用版本号替换此标记
<!-- Apply the version change to all files. -->
<reflexive>
<fileset dir="${dir.to.change.version}">
<include name="**/*.*" />
</fileset>
<filterchain>
<replacetokens>
<token key="svn.lastrevision" value="${svn.lastrevision}" />
</replacetokens>
</filterchain>
</reflexive>
【讨论】: