是否有一个ant命令列出了文件中的所有目标,取决于哪些?
现在我只是使用一个小的power shell脚本来匹配包含<target
的行,但它不是一个很好的解决方案。是否有任何内置命令?
答案 0 :(得分:1)
最接近ant -p
(或ant -p -v
以获取更多信息)。这不会列出目标依赖项,但我不认为它是一个问题:依赖项对最终用户来说并不重要(它们只是告诉目标是如何工作的)。
重要的是目标的作用,其描述应该是什么:
<target name="foo" depends="bar" description="Does the foo operation">
...
</target>
我真正想要的是目标依赖项,然后阅读xml文件是你能做的最好的。
答案 1 :(得分:0)
没有,但你可以这样做:
<target name="list.targets">
<xslt in="${basedir}\{build.file}"
out="tmp"
style="${display.targets.xsl}">
</xslt>
<delete file="tmp"/>
</target>
$ {display.targets.xsl}指向以下.xsl文件:
<xsl:stylesheet version = '1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>
<xsl:output method='text'/>
<xsl:template match="/">
<xsl:for-each select="//target">
<xsl:sort data-type="text" select="@name"/>
<xsl:message terminate="no">
Target : <xsl:value-of select="@name"/><xsl:if test="@depends"> depends on : <xsl:value-of select="@depends"/>
</xsl:if>
<xsl:if test="@description">
Description : <xsl:value-of select="@description"/>
</xsl:if>
</xsl:message>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
$ {basedir} {build.file}指向您当前的build.xml文件。输出将是这样的:
[xslt] Loading stylesheet D:\Tools\StackOverFlow\test.xslt
[xslt]
[xslt] Target : build
[xslt]
[xslt] Target : modify.trs
[xslt] Description : Modifies .trs file targets
[xslt]
[xslt] Target : regex depends on : modify.trs
当然,具体取决于你的build.xml。
答案 2 :(得分:0)
如果您search for "ant dependency graph",您会找到一些关于如何从构建文件生成.dot文件的建议,该文件可以通过GraphViz呈现为可视化图形。