Change ant target enumeration

Make use of ant's project help feature instead of trying to parse XML with regex (see: http://stackoverflow.com/a/1732454/740787).
This is a behavioral change that does a few things:
 • adds support for ant imports, which were previously not recognized as possibly containing targets
 • supresses targets with no description, as these are conventionally for internal use only
This commit is contained in:
Chris Peterson 2014-11-17 20:43:19 -08:00
parent 7f636ba590
commit 013b2bffcf

View File

@ -7,7 +7,7 @@ _ant_does_target_list_need_generating () {
_ant () { _ant () {
if [ -f build.xml ]; then if [ -f build.xml ]; then
if _ant_does_target_list_need_generating; then if _ant_does_target_list_need_generating; then
sed -n '/<target/s/<target.*name="\([^"]*\).*$/\1/p' build.xml > .ant_targets ant -p | awk -F " " 'NR > 5 { print lastTarget }{lastTarget = $1}' > .ant_targets
fi fi
compadd `cat .ant_targets` compadd `cat .ant_targets`
fi fi