Como posso obter uma lista de destinos de construção no Ant?

191

Minha base de código tem um build.propertiesarquivo longo escrito por outra pessoa. Quero ver os destinos criados disponíveis sem precisar pesquisar manualmente o arquivo. O ant tem um comando para isso - algo como ant show-targets- que fará com que todos os alvos do arquivo de construção sejam listados?

Shwetanka
fonte

Respostas:

263

A opção -pou -projecthelpfaz exatamente isso, então você pode apenas tentar:

ant -p build.xml

Na documentação da linha de comando do ant :

A -projecthelpopção imprime uma lista dos destinos do arquivo de construção. Os destinos que incluem um descriptionatributo são listados como "Principais destinos", aqueles sem a descriptionsão listados como "Outros destinos" e o destino "Padrão" é listado ("Outros destinos" são exibidos apenas se não houver destinos principais ou se Ant é chamado no modo -verboseou -debug).

Grodriguez
fonte
35
Para tornar isso o padrão ao invocar ant, crie um destino como <target name="help"> <java classname="org.apache.tools.ant.Main"> <arg value="-projecthelp" /> <arg value="-buildfile" /> <arg value="${ant.file}" /> </java> </target>e "ajude" o destino padrão no seu projeto.
sschuberth
18
Eu acho que vale a pena notar que ant -pmostrará apenas metas que têm descrições. Para mostrar todos os destinos associados a um build.xmlarquivo, você precisa executar ant -p -vAlém disso, ant -p build.xmlé redundante. ant -pfará a mesma coisa e, se você não estiver no build.xmldiretório, será necessário usá-lo ant -p -buildfile path/to/build.xml.
26413 Andrew
1
a target name="help"coisa funciona bem, mas não quando executada no ambiente Eclipse Ant (ele simplesmente trava, mas -diagnosticsou outros estão bem com ela) :-( (sem garfo vm, Kepler com ant 1.8.4 (2014-05-22) e também tentei with ant 1.9.4 (29-04-2014)) (só se você se perguntar ... Eu estava criando um ambiente independente de formigas que gostaria de testar no Eclipse ... é claro que tenho meu Ant View )
Andreas Dietrich
34

Para obter todos os destinos no arquivo de construção

ant -p -verbose

Shweta
fonte
1
precisamos usar -p combinado com -v Se exigirmos todos os destinos (por todos os destinos, quero dizer os destinos sem descrição neles também). se Somente os principais alvos forem necessários (por Alvos principais, quero dizer aqueles com descrição neles), usando -p sozinho faz o truque.
Wills
2
Não consegui ver os alvos de que preciso apenas com -p, isso funciona perfeitamente.
JacopKane
15

A opção -pou -projecthelpfaz exatamente isso, para que você possa fazer:

ant -p build.xml

Você pode criar um alvo para chamar isso como:

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

que você pode definir como padrão, apenas digitando ant irá listar os destinos disponíveis.

(Combinando a resposta de @Grodriguez 'e o comentário de @ sschuberth - eu pensei que valeria uma resposta por si só)

rjmunro
fonte
5
pequena sugestão. torne a "ajuda" alvo como padrão. Como resultado, executar "ant" invocará o destino "help" que imprimirá todos os destinos disponíveis.
user1697575
0

Você pode verificar a lista de destino e destino padrão em build.xml pelo seguinte comando

ant -p built.xml

Jainesh Patel
fonte