jarlib-resolve

説明

拡張機能を満たす jar を探し出し、その jar の位置をプロパティに格納します。このタスクでは、特定の拡張機能に対するライブラリを特定可能な多数のリゾルバーを追加できます。各リゾルバーは、指定された順序で試行され、ライブラリが見つかるか、リゾルバーがなくなるまで続けられます。リゾルバーがなくなっても failOnError が true の場合、BuildException がスローされます。

このタスクは、"オプションパッケージ" 仕様で定義された拡張機能で機能します。オプションパッケージの詳細については、Java Standard Edition パッケージのドキュメントのファイル guide/extensions/versioning.html 内のドキュメント Optional Package Versioning を参照するか、オンラインで 拡張機能および拡張機能セットのドキュメント を参照してください。

パラメーター

属性 説明 必須
property ライブラリの場所を設定するプロパティの名前。 はい
failOnError ライブラリの特定に失敗した場合にビルド例外を発生させるかどうか。 いいえ。初期値は true です。
checkExtension ネストされたリゾルバーによって返されるライブラリが拡張機能を提供するかどうかを確認するかどうか。 いいえ。初期値は true です。

ネストされた要素として指定されるパラメーター

extension

拡張機能 解決する拡張機能。この部分が必要です。

location

ネストされた location 要素を使用すると、プロジェクトディレクトリを基準とする場所でライブラリを検索できます。

属性 説明 必須
location ライブラリのパス名。 はい

url

url リゾルバーを使用すると、ローカルファイルに対する URL からライブラリをダウンロードできます。

属性 説明 必須
url ダウンロードする URL。 はい
destfile URL をダウンロード先のファイル。 2 つのうちのどちらか一方のみ
destdir ダウンロードしたファイルを配置するディレクトリ。

ant

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>