如何识别ant xml文件中未使用的任务

时间:2017-07-11 14:16:18

标签: ant

我收到了20个xml文件,这些文件在调用build.xml时运行....我被要求清除这些文件中的垃圾。如何识别这些xml文件中未使用的任务?

1 个答案:

答案 0 :(得分:0)

这可能不是一个简单,万无一失的解决方案(你真的只需要问你公司的每个人他们正在使用什么),但是我喜欢的一个非常有用的工具使用复杂的Ant脚本是" Grand"图形工具。 https://ant-grand.github.io/Grand/grand.html

下载库并将其放在lib目录中,然后创建一个新的Ant脚本,如下所示:

<?xml version="1.0"?>
<project default="graph">
  <typedef classpath="lib/grand.jar" resource="net/ggtools/grand/antlib.xml" />

  <target name="graph">
    <grand buildfile="${script.file}" output="${script.file}.dot">
      <filter name="prefixed" />
    </grand>

    <exec executable="dot">
      <arg line="-Grankdir=TB -Tpng ${script.file}.dot -o ${script.file}.png"/>
    </exec>
  </target>
</project>

现在您可以使用

调用脚本

ant -f graph.xml -Dscript.file=/path/to/ant/script/build.xml

并且您将得到一个build.xml.png图像文件,该文件显示了您指向的任何脚本的干净目标依赖关系树。

我添加了一个由我自己的相对复杂的脚本生成的图像作为示例。当目标有一个指向另一个目标的箭头时,这意味着前者使用后者作为依赖关系(因此后者不能在不破坏前者的情况下被移除)。任何不被指向依赖的东西都可以在不损害任何其他东西的情况下被移除,但这并不一定意味着它本身无用。 build-app.xml graph