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?

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).


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


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ó)


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

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.