Antでビルドターゲットのリストを取得するにはどうすればよいですか?


191

私のコードベースには、build.properties誰かが書いた長いファイルがあります。ファイルを手動で検索せずに、使用可能なビルド済みターゲットを表示したい。antにはant show-targets、ビルドファイル内のすべてのターゲットを一覧表示するようなコマンドがありますか?

回答:


263

-pまたは-projecthelpあなただけ試すことができますのでオプションは、まさにこのことを行います。

ant -p build.xml

antのコマンドラインドキュメントから

この-projecthelpオプションは、ビルドファイルのターゲットのリストを出力します。description属性を含むターゲットは「メインターゲット」としてリストされ、属性のないdescriptionターゲットは「その他のターゲット」としてリストされ、次に「デフォルト」ターゲットがリストされます(「その他のターゲット」はメインターゲットがない場合、またはAnt -verboseまたは-debugモードで呼び出されます)。


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」をプロジェクトのデフォルトターゲットにします。
sschuberth

18
ant -p説明があるターゲットのみが表示されることは注目に値します。build.xmlファイルに関連付けられたすべてのターゲットを表示するには、実行する必要があります。ant -p -vまた、ant -p build.xml冗長です。 ant -p同じことを行います。build.xmlディレクトリにいない場合はant -p -buildfile path/to/build.xml、とにかくを使用する必要があります。
2013

1
target name="help"事は罰金を動作しますが、ないEclipseのAntの環境で実行したとき(それだけでハングアップは、しかし-diagnostics:-((無VMフォーク、ケプラーアリ1.8.4(2014年5月22日付)とも試みや他の人はそれでOKではありません) with ant 1.9.4(2014-04-29))(あなたが自問した場合に限り...私はEclipse内でテストしたいスタンドアロンのant envを作成していました...もちろん、Antビューがありますそこに)
アンドレアスディートリッヒ

34

ビルドファイル内のすべてのターゲットを取得するには

ant -p -verbose


1
すべてのターゲットが必要な場合(すべてのターゲットとは、説明のないターゲットも意味します)、-vと組み合わせた-pを使用する必要があります。メインターゲットのみが必要な場合(メインターゲットとは、それらに説明があるものを意味します)、-pのみを使用するとうまくいきます。
Wills

2
-pだけでは必要なターゲットを確認できませんでした。これは完璧に機能します。
JacopKane 2015

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のコメントを組み合わせる-それだけで回答する価値があると思いました)


5
小さな提案。デフォルトで「ヘルプ」ターゲットを作成します。その結果、「ant」を実行すると、すべての使用可能なターゲットを出力する「help」ターゲットが呼び出されます。
user1697575

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.