Ant目标依赖树查看器



是否有一个软件(或eclipse插件),

给定一个目标,是否允许我将目标依赖关系视为一个树?

树不需要是图形的,可以是基于文本的-只是一个工具,可以帮助我遍历某人的ant文件网格来调试它们。

不需要是Eclipse插件。但是,当一个节点被单击时,将把该目标的源代码扔到编辑器中,这将是很好的。

我也想要同样的东西,但是,像David一样,我最终只写了一点代码(Python):

from xml.etree import ElementTree
build_file_path = r'/path/to/build.xml'
root = ElementTree.parse(build_file_path)
# target name to list of names of dependencies
target_deps = {}
for t in root.iter('target'):
  if 'depends' in t.attrib:
    deps = [d.strip() for d in t.attrib['depends'].split(',')]
  else:
    deps = []
  name = t.attrib['name']
  target_deps[name] = deps
def print_target(target, depth=0):
  indent = '  ' * depth
  print indent + target
  for dep in target_deps[target]:
    print_target(dep, depth+1)
for t in target_deps:
  print
  print_target(t)

类似于Eclipse中的问题蚂蚁调试。

根据Apache的ANT手册,您可以从-projecthelp选项开始。之后可能会更加困难,因为不同的目标可能具有交叉依赖关系,因此根本不可能将层次结构表示为树。

您可以修改build.xml来检测环境变量,例如NO_PRINT,它在每个项目目标中测试,如果找到,只打印项目名称而不打印其他内容。项目的依赖项将保留,并允许ANT遍历树并生成将被触及的不同目标的打印输出。

相关内容

  • 没有找到相关文章

最新更新