Как я могу получить список целей сборки в Ant?

193

У моей кодовой базы есть длинный build.propertiesфайл, написанный кем-то другим. Я хочу увидеть доступные встроенные цели без необходимости искать файл вручную. Есть ли в ant команда для этого - что-то вроде этого ant show-targets- которая выдает список всех целей в файле сборки?

Shwetanka
источник

Ответы:

265

Опция -por -projecthelpделает именно это, поэтому вы можете просто попробовать:

ant -p build.xml

Из документации по командной строке ant :

-projecthelpОпция выводит список целей файла компоновки в. Цели, которые содержат descriptionатрибут, отображаются как «Основные цели», а те, у которых нет, - descriptionкак «Другие цели», затем указывается цель «По умолчанию» («Другие цели» отображаются только в том случае, если нет главных целей или если Ant вызывается в режиме -verboseили -debug).

Grodriguez
источник
35
Чтобы сделать это значением по умолчанию при вызове ant, создайте цель как <target name="help"> <java classname="org.apache.tools.ant.Main"> <arg value="-projecthelp" /> <arg value="-buildfile" /> <arg value="${ant.file}" /> </java> </target>и сделайте «help» целью по умолчанию в вашем проекте.
Щуберт
18
Я думаю, что стоит отметить, что ant -pбудут показаны только те цели, которые имеют описания. Чтобы показать все цели, связанные с build.xmlфайлом, вам нужно запустить ant -p -vКроме того, ant -p build.xmlявляется избыточным. ant -pбудет делать то же самое, и если вы не в build.xmlкаталоге, вам все ant -p -buildfile path/to/build.xmlравно придется использовать .
Андрей
1
эта target name="help"штука работает нормально, но не при запуске в среде Eclipse Ant (она просто зависает, но -diagnosticsили с ней все в порядке) :-( (нет vm fork, Kepler с ant 1.8.4 (2014-05-22), а также пробовал с муравьем 1.9.4 (2014-04-29)) (просто если вы спросите себя ... Я создавал автономный муравей env, который я хотел бы протестировать в Eclipse ... конечно, у меня есть мой Ant View есть)
Андреас Дитрих
34

Чтобы получить все цели в файле сборки

ant -p -verbose

Shweta
источник
1
нам нужно использовать -p в сочетании с -v Если нам требуются все цели (под всеми целями я имею в виду и цели без описания в них). если требуются только основные цели (под главными целями я подразумеваю цели с описанием в них), используя только -p, можно добиться цели.
Завещания
2
Я не мог видеть цели, которые мне нужны, только с -p, это прекрасно работает.
ЯкопКейн
15

Опция -pили -projecthelpделает именно это, так что вы можете сделать:

ant -p build.xml

Вы можете сделать цель, чтобы вызвать это как:

<target name="help">
    <java classname="org.apache.tools.ant.Main">
        <arg value="-projecthelp" />
        <arg value="-buildfile" />
        <arg value="${ant.file}" />
    </java>
</target>

который вы можете затем установить в качестве значения по умолчанию, поэтому просто набрав ant, вы получите список доступных целей.

(Сочетая ответ @Grodriguez 'и комментарий @sschuberth - я подумал, что сам ответ стоил)

rjmunro
источник
5
небольшое предложение. сделать цель помощи по умолчанию. В результате выполнения «муравей» вызовет «справочную» цель, которая напечатает все доступные цели.
user1697575
0

Вы можете проверить список цели и цели по умолчанию в build.xml с помощью следующей команды

ant -p built.xml

Джайнеш Патель
источник