我是Ant的新手。我想拥有以下内容:
<target name="targets" description "Lists Targets">
[some Ant code/tasks]
</target
当我打电话给ant targets
时,我希望Ant搜索Ant正在为其所有目标运行的当前文件
<target name="all" depends="doc,sca,compile,test" description="Complete build">
</target>
输出
[echo] all - Complete Build - Depends on: doc, sca, compile, test
[echo] doc - Builds documentation
[echo] compile - Compiles files
[echo] sca - Performs static code analysis
[echo] test - Runs unit tests - Depends on: compile
[echo] clean - Cleans a build
[echo] install - Performs an installation
[echo] targets - Lists Targets
在Bash
或Make
我只会做一个grep
正则表达式。以下内容Make
列出了制作目标:
noop: ;
targets:
@$(MAKE) --print-data-base --question noop | \
grep -v "[A-Z]:/" | \
awk '/^[Mm]akefile:/ { next } \
/^targets:/ { next } \
/^noop:/ { next } \
/^[^.%!][-A-Za-z0-9_]*:/ { print substr($$1, 1, length($$1)-1) }' | \
sort | \
pr --omit-pagination --width=80 --columns=4
输出:
[matt@office burning-boots-website]$ make -C ~/workspace/packages/ targets
all diagnose install vca_core
clean doc platforms vca_counting_line
compile help utils vca_rules
在我的Ant构建脚本中使用simliar会很棒!如果Ant可以做pr
做的良好对齐 - 甚至为输出着色,那将会特别好! Ant可以跨平台终端颜色变化吗?
答案 0 :(得分:6)
您可以使用ant -p
(或ant -p -v
获取更多信息)。这不会列出目标依赖项,但我不认为它是一个问题:依赖项对最终用户来说并不重要(它们只是告诉目标的工作方式)。重要的是目标所做的,这是其描述中的内容。