拡張機能を満たす jar を探し出し、その jar の位置をプロパティに格納します。このタスクでは、特定の拡張機能に対するライブラリを特定可能な多数のリゾルバーを追加できます。各リゾルバーは、指定された順序で試行され、ライブラリが見つかるか、リゾルバーがなくなるまで続けられます。リゾルバーがなくなっても failOnError が true の場合、BuildException
がスローされます。
このタスクは、"オプションパッケージ" 仕様で定義された拡張機能で機能します。オプションパッケージの詳細については、Java Standard Edition パッケージのドキュメントのファイル guide/extensions/versioning.html
内のドキュメント Optional Package Versioning を参照するか、オンラインで 拡張機能および拡張機能セットのドキュメント を参照してください。
属性 | 説明 | 必須 |
---|---|---|
property | ライブラリの場所を設定するプロパティの名前。 | はい |
failOnError | ライブラリの特定に失敗した場合にビルド例外を発生させるかどうか。 | いいえ。初期値は trueです。 |
checkExtension | ネストされたリゾルバーによって返されるライブラリが拡張機能を提供するかどうかを確認するかどうか。 | いいえ。初期値は trueです。 |
拡張機能 解決する拡張機能。この部分が必要です。
ネストされた location
要素を使用すると、プロジェクトディレクトリを基準とする場所でライブラリを検索できます。
属性 | 説明 | 必須 |
---|---|---|
location | ライブラリのパス名。 | はい |
url
リゾルバーを使用すると、ローカルファイルに対する URL からライブラリをダウンロードできます。
属性 | 説明 | 必須 |
---|---|---|
url | ダウンロードする URL。 | はい |
destfile | URL をダウンロード先のファイル。 | 2 つのうちのどちらか一方のみ |
destdir | ダウンロードしたファイルを配置するディレクトリ。 |
ant
リゾルバーを使用すると、Apache Ant ビルドファイルを uran してライブラリを生成できます。
属性 | 説明 | 必須 |
---|---|---|
antfile | ビルドファイル。 | はい |
destfile | ant ビルドで作成するファイル。 | はい |
target | ビルドファイルで実行するターゲット。 | いいえ |
ファイルへの拡張機能を解決します。ファイルが存在しないか、ファイルが拡張機能を実装していない場合は、例外をスローします。
<extension id="dve.ext" extensionName="org.realityforge.dve" specificationVersion="1.2" specificationVendor="Peter Donald"/> <jarlib-resolve property="dve.library"> <extension refid="dve.ext"/> <location location="/opt/jars/dve.jar"/> </jarlib-resolve>
URL に拡張機能を解決します。URL が存在しないか、destfile に書き込めなかった場合、またはファイルが拡張機能を実装していない場合は、例外をスローします。
<extension id="dve.ext" extensionName="org.realityforge.dve" specificationVersion="1.2" specificationVendor="Peter Donald"/> <jarlib-resolve property="dve.library"> <extension refid="dve.ext"/> <url url="https://www.example.com/jars/dve.jar" destfile="lib/dve.jar"/> </jarlib-resolve>
Ant ビルドが生成するファイルへの拡張機能を解決します。ファイルが生成されなかった場合、または Ant ファイルが見つからない場合、またはビルドが失敗した場合、例外をスローします。(注: ライブラリが拡張機能を実装しているかどうかは確認しません。)
<extension id="dve.ext" extensionName="org.realityforge.dve" specificationVersion="1.2" specificationVendor="Peter Donald"/> <jarlib-resolve property="dve.library" checkExtension="false"> <extension refid="dve.ext"/> <ant antfile="../dve/build.xml" target="main" destfile="lib/dve.jar"/> </jarlib-resolve>
複数の方法で拡張機能を解決します。最初にローカルファイルを調べて拡張機能を実装しているかどうかを確認します。拡張機能を実装していない場合、並列ディレクトリ内のソースからビルドしてみます。それでも失敗した場合、最後に Web サイトからダウンロードします。すべての手順が失敗した場合、ビルド例外をスローします。
<extension id="dve.ext" extensionName="org.realityforge.dve" specificationVersion="1.2" specificationVendor="Peter Donald"/> <jarlib-resolve property="dve.library"> <extension refid="dve.ext"/> <location location="/opt/jars/dve.jar"/> <ant antfile="../dve/build.xml" target="main" destfile="lib/dve.jar"/> <url url="https://example.com/jars/dve.jar" destfile="lib/dve.jar"/> </jarlib-resolve>