初期セットアップ
Gradle との統合は以下のコンポーネントによって実現されています。
- Jtest Plugin for Gradle – Jtest に同梱。ローカルの Maven リポジトリ <
INSTALL_DIR>\integration\maven
にあります。 jtest.gradle
およびinit.gradle
スクリプト。Jtest に同梱。 <INSTALL_DIR>
\integration\gradle
にあります。
Jtest の場所の設定
jtest.gradle
および init.gradle
スクリプトは、スクリプトの場所を基準として Jtest のインストール ディレクトリを検出し、その場所を jtest.home
プロパティに設定します。Jtest Plugin for Gradle は、このプロパティを使用して home
パラメーターを設定します。
スクリプトを使用しない場合、またはスクリプトの場所が Jtest のインストール ディレクトリではない場合 (たとえば別の場所にコピーしたり、または別の場所で Jtest を使用する必要がある場合)、次のいずれかの方法で Jtest の場所を設定する必要があります。
jtest.home
プロパティ: 次のどちらかのファイルで Jtest インストールディレクトリの場所を指定します。
-$HOME/.gradle/gradle.properties
-PROJECT_DIR/gradle.properties
- JTEST_HOME 環境変数: Gradle 2.0 以前 の初期化スクリプトは、initscript コード ブロック内の Java システム プロパティを解決できません。初期化スクリプト <
INSTALL_DIR>
/integration/gradle/init.gradle
は、JTEST_HOME が環境変数として設定されている場合にだけ、事前に構成された Jtest の場所を検出します。
詳細については「Types of Gradle Properties」を参照してください。
依存関係の設定
Jtest で Maven ビルドを解析およびテストするのに必要な依存関係の多くは、jtest.gradle
および init.gradle
スクリプトを使用して Jtest 実行を設定したときに自動的に追加されます (「Configuring Jtest Execution」を参照)。
さらに、JUnit テストを実行し、カバレッジ データを収集するには、次の例のように、Gradle のビルド スクリプトに JUnit Platform Launcher を手動で設定する必要があります。
testRuntimeOnly 'org.junit.platform:junit-platform-launcher:<version>'
使用する JUnit のバージョンに対応するバージョンのラウンチャ―が設定されていることを確認します。例: org.junit.platform:junit-platform-launcher:1.5.2
Jtest 実行の設定
Jtest Plugin for Gradle を使用する前に、以下のいずれかの .properties ファイルで Jtest のライセンスを設定します。
<INSTALL_DIR>/jtestcli.properties
$HOME/jtestcli.properties
$HOME/.gradle/gradle.properties
[PROJECT_DIR]/gradle.properties
詳細については「ライセンスの設定」および「設定」を参照してください。
コマンド ラインでの解析の設定
Jtest に付属の init.gradle
スクリプトを使用すると、Gradle のビルド スクリプトを変更せずに Gradle と統合できます。
-I
オプションを使用してスクリプトの場所を指定し、Gradle で jtest
タスクを実行します。
gradle jtest -I <INSTALL_DIR>/integration/gradle/init.gradle
jtest.home
プロパティが指定されていない場合、init.gradle スクリプトはスクリプト自体のディレクトリに基づいて Jtest のインストール ディレクトリを検出し、プロパティを設定します。
ビルドスクリプトでの解析の設定
Gradle と統合するようビルド スクリプトを変更するには、jtest.gradle
スクリプトをビルド スクリプトに適用するか (Minimal Configuration)、ビルド スクリプトに Jtest タスクを設定 (Extended Configuration) します。Jtest による解析の実行は、ビルド スクリプトの設定方法によって異なります。
ビルド スクリプトで JVM 引数を指定している場合、他の JVM 引数を上書きしていないことを確認してください。
最小限の設定
Gralde ビルド スクリプト (build. gradle) で Jtest Plugin for Gradle を適用するには、ルート プロジェクトのビルド スクリプトに直接 jtest.gradle
スクリプトへのパスを追加します。
//build script blocks apply from: System.properties['jtest.home'] + '/integration/gradle/jtest.gradle' //other build script blocks
jtest.home
プロパティが指定されていない場合、init.gradle スクリプトはスクリプト自体のディレクトリに基づいて Jtest のインストール ディレクトリを検出し、プロパティを設定します。
拡張設定
[PROJECT_DIR]/gradle.properties
または$HOME/.gradle/gradle.properties
ファイルで jtest.home プロパティを設定します。例:# Java system property 'jtest.home systemProp.jtest.home=PATH/TO/JTEST # project property 'jtest.settings' (could be Java system property as well) jtest.settings=PATH/TO/SETTINGS/FILE
結果として、コマンド ラインでは Jtest のインストール ディレクトリへのパスを指定する必要はありません。
PROJECT_DIR/build.gradle
ビルド スクリプトで Jtest タスクを設定します。例://build script blocks apply from: System.properties['jtest.home'] + '/integration/gradle/jtest.gradle' jtest { config = "builtin://Recommended Rules" showSettings = true resources = [ "**/*.java", "my_project_name/src/**/*.xml" ] compilation { id = "main" //default value override = false //default value encoding = "MacRoman" } } // other build script blocks
Gradle プロパティのタイプ
Gradle は以下の 2 種類のプロパティをサポートします。
Java システム プロパティ
システム プロパティは以下の方法で設定できます。
- コマンド ラインで
-D
パラメーターを使用します (-DmyProperty
) gradle.properties
ファイルでsystemProp
(systemProp.MY_PROPERTY=MY_VALUE
) を使用します
システム プロパティは、System.properties['myProperty']
という形式を使用して Gradle のビルド スクリプトからアクセスできます。
Gradle プロジェクト プロパティ
Gradle プロパティは以下の方法で設定できます。
- コマンドラインで
-P
または -Dorg.gradle.project パラメーターを使用します (-PmyProperty
または-Dorg.gradle.project.myProperty
) gradle.properties
ファイルで
Gradle プロパティは、Gradle ビルド スクリプトで直接名前を使用するか、property('myProperty')
関数を使用してアクセスできます。
プロパティ キーに文字 "." が含まれている場合、ビルド スクリプトで直接名前を使用するのではなく、property('myProperty')
を使用してアクセスするべきです。
詳細については Gradle User Manual を参照してください (「System Properties」セクションおよび「Gradle Properties」セクション)。
ココンパイル データの手動カスタマイズ
すべてのプロジェクトのコンパイル データを変更する必要がある場合、-Djtest.dataUpdate
コマンド ライン オプションを使用できます。
Jtest プラグインによって自動的に検出されたコンパイル データをカスタマイズする方法の詳細については、「コンパイル データ モデル」を参照してください。