初期セットアップ
Jtest Plugin for Ant は、次の場所にある JAR ファイルとして Jtest に付属しています: [INSTALL_DIR]/
integration/ant/jtest-ant-plugin.jar 。以下のいずれかの方法で、jtest-ant-plugin.jar
をビルドの classpath に追加する必要があります。
- jar をユーザーの Ant ライブラリのディレクトリ $HOME/.ant/lib に配置する。
- jar を Ant システムのインストール ライブラリのディレクトリ $ANT_HOME/lib に配置する。 IDE、継続的インテグレーション、その他のツールは、組み込まれた Ant を使用する場合があることに注意してください。 そのような場合、システムの $ANT_HOME/lib ディレクトリは使用されません。代わりに $HOME/.ant/lib ディレクトリに JAR ファイルを追加します。
プロジェクトのビルドおよび解析のたびに次のパラメーターを Ant コマンドに追加する。
-lib $JTEST_HOME/integration/ant/jtest-ant-plugin.jar
ビルドのルート ビルドスクリプトで taskdef タスクを使用する。
<project name="project" default="sth" xmlns:jtest="antlib:com.parasoft.jtest.plugin.ant"> <taskdef uri="antlib:com.parasoft.jtest.plugin.ant" resource="com/parasoft/jtest/plugin/ant/antlib.xml" classpath="PATH/TO/JTEST/integration/ant/jtest-ant-plugin.jar"/> <!-- ... --> </project>
Jtest の実行設定
Jtest の実行は、外部 XML ビルド ファイル、通常の Ant XML ビルド ファイル、またはコマンドラインで設定できます。専用のスイッチによって個々の設定を行います。
以下のサンプルは、jtest-ant-plugin.jar が Ant の lib ディレクトリのいずれかに配置されていることを前提としているため、コマンドラインのサンプル は-lib 引数を使用していません。
build.xml
ファイルでの解析設定
Ant の build.xml
ファイルを次のように変更して解析を設定できます。
<project name="Analyzed Project" default="build" xmlns:jtest="antlib:com.parasoft.jtest.plugin.ant"> <!-- ... --> <jtest:listener /> <!-- ... --> <target name="jtest-analysis" depends="build"> <jtest:jtest> <!-- jtest task configuration --> </jtest:jtest> </target> <!-- ... --> <target name="build"> <!-- analyzed project build target --> </target> </project>
外部ビルド ファイルでの解析設定
jtest.xml
ビルド ファイルを次のように変更して解析を設定できます。
<project name="Analyzed Project" default="build" xmlns:jtest="antlib:com.parasoft.jtest.plugin.ant"> <property name="jtest.home" value="PATH/TO/JTEST" /> <jtest:listener /> <target name="jtest-analysis" depends="build"> <jtest:jtest> <config>builtin://Recommended Rules</config> <home>PATH/TO/JTEST</home> <resource>Analyzed Project/src/**/*.java</resource> <report>report</report> <publish>true</publish> </jtest:jtest> </target> <!-- ... --> <target name="build"> <!-- ant タスクは、instrument および instrument-test タスクによって使用される可能性がある プロパティ (jtest.home を含む) を継承するサブプロジェクトを作成します。 --> <ant target="build" dir="${basedir}" antfile="build.xml" /> </target> </project>
優先順位
上記のサンプルは home パラメーターの設定方法を示しています。優先度が高い順につぎの方法があります。
- タスク タグ内で直接設定
- プロジェクト プロパティによる設定 (property タスク)
JVM 環境変数 による設定。-D
コマンド ライン オプションを使用して Jtest のオプションを設定できます。例: -Djtest.home=value。Jtest オプションよりビルトイン Ant オプションが優先されます。設定で Ant オプションが使用された場合、それらのオプションは Jtest-D で渡された値を上書きします。
XML ビルド ファイルでの詳細設定
次の設定は、jtest-ant-plugin.jar
をロードし、ビルド ファイルからリスナーを開始します。
- Ant コマンド ラインに Jtest で解析を実行するための追加のオプションが必要ありません。
- -lib オプションを使用して jtest-ant-plugin.jar を渡したり、ファイルを $ANT_HOME/lib ディレクトリにデプロイする必要がありません。
<project name="Analyzed Project" default="jtest-analysis" xmlns:jtest="antlib:com.parasoft.jtest.plugin.ant"> <!-- ... --> <property name="jtest.home" value="PATH/TO/JTEST" /> <taskdef uri="antlib:com.parasoft.jtest.plugin.ant" resource="com/parasoft/jtest/plugin/ant/antlib.xml" classpath="${jtest.home}/integration/ant/jtest-ant-plugin.jar"/> <!-- listener has to be specified after taskdef --> <jtest:listener /> <!-- ... --> <target name="build"> <!-- analyzed project build target --> </target> <!-- ... --> <target name="jtest-analysis" depends="build"> <jtest:jtest/> </target> </project>
コマンド ラインでの解析設定
-Dproperty
オプション (-Dproperty.KEY=VALUE ) を使用すると、個々のエントリをコマンドラインで設定することができます。例:
ant jtest-analysis -Dproperty.console.verbosity.level=high
コンパイル データの手動カスタマイズ
Ant によるビルドはカスタマイズ性が高く、そのために、Jtest Plugin for Ant によって検出されたコンパイル データに実際と異なる点やエラーが含まれていることが、まれにあります。そのような問題は、Jtest のレポート でセットアップの問題として表示されたり、コンソールに出力される場合があります。
エラーがあるコンパイル データが検出された場合、解析対象プロジェクトの build.xml ファイルで、コンパイル データを拡張またはオーバーライドできます。
次のサンプルは、コンパイル データのカスタマイズを有効にした解析 Ant ビルドを示しています。この設定は、検出されたコンパイル データを拡張し、追加のバイナリ パス要素を指定します。
Ant には、デフォルトではコンパイル id
がありません。 プロジェクトが javac タスクを 2 回以上呼び出す場合、カスタム コンパイル データに対応する id を javac に 定義する必要があります。id が指定されていないカスタム コンパイル データ構成は、id パラメーターが指定されていない javac タスクから収集されたすべてのコンパイル データに適用されます。
<project name="Jtest Analysis" default="jtest-analysis" xmlns:jtest="antlib:com.parasoft.jtest.plugin.ant"> <!-- プロパティなど --> <target name="build"> <javac id="main_compilation" srcdir="${src.dir}" destdir="${target.dir}" source="1.5" /> <!-- プラグインが検出できない追加の jar を target.dir にコピーします --> </target> <target name="jtest-analysis" depends="build"> <jtest:jtest> <config>builtin://Recommended Rules</config> <home>${env.JTEST_HOME}</home> <compilation> <!-- ID が指定されていない場合、すべてのコンパイル データに適用されます --> <id>main_compilation</id> <classpath> <!-- classpath および bootpath でファイルセットを使用可能 --> <fileset dir="C:/some_directory/lib"> <include name="**/*.jar"/> </fileset> <path>some_jar_file.jar</path> </classpath> <binarypath> <path>${additional.jar.file}</path> <path>${other.jar.file}</path> </binarypath> </compilation> </jtest:jtest> </target> </project>
すべてのプロジェクトのコンパイル データを変更する必要がある場合、
-Djtest.dataUpdate
コマンド ライン オプションを使用できます。
Jtest プラグインによって自動的に検出されたコンパイル データをカスタマイズする方法の詳細については、「コンパイル データ モデル」を参照してください。