Java プロジェクトの build specification (ビルドスペック) ファイルの形式

Java プロジェクト用の Klocwork build specification (ビルドスペック) は、kwinject.out というデフォルト名のセミコロンで区切られたテキストファイルです。このファイルには、Klocwork プロジェクトの Java ソースファイルに関する次の情報が含まれています。

  • jconfig 行で特定される javac 呼び出しのためのクラスパスおよび Java のバージョン
  • jcompile 行で特定されるコンパイルされたソース Java ファイル
  • jar 行で識別される jar ファイルとその入力ファイル

各行の最初のフィールドは、行のタイプを識別するタグです。使用されるタグは次のとおりです。

タグ 説明
version build specification (ビルドスペック) 形式のバージョン
jconfig Java のバージョンやクラスパスなど、Java のコンパイラオプションを定義するために使用
jcompile コンパイルされたソースファイルを指定するために使用
jar jar ファイルとその入力ファイルを指定するために使用

バージョン行

バージョン行は、build specification (ビルドスペック) 形式のバージョンを定義するために使用されます。これは build specification (ビルドスペック) の最初の行にする必要があります。build specification (ビルドスペック) に使用できるバージョン行は 1 行のみです。

バージョン行の例:

version;108

バージョン 1.4 以降は、build specification (ビルドスペック) がソースエンコーディングに UTF-8 を使用して生成され、マルチバイト文字 (日本語など) が許可されていることを示します。kwbuildproject により build specification (ビルドスペック) が UTF-8 エンコーディングで処理されることを保証するには、バージョンが version;104 以降である必要があります。

jconfig 行

jconfig 行は、Java バージョンやデフォルトのクラスパスといった Java コンパイラオプションを特定するために使用されます。

jconfig 行の例:

Unix の場合

jconfig;/space/testing/java/jdk1.7.0_25/bin/javac;-classpath;/space/testing/java/jdk1.7.0_25/jre/lib/resources.jar:/space/testing/java/jdk1.7.0_25/jre/lib/rt.jar;-source;1.7

Windows の場合

jconfig;c:\program files\java\jdk1.7.0_67\bin\javac.exe;-classpath;c:\program files\java\jdk1.7.0_67\jre\lib\resources.jar%3Bc:\program files\java\jdk1.7.0_67\jre\lib\rt.jar;-source;1.7

次の 3 つのフィールドがあります。

フィールド 説明
jconfig タグ jconfig 行のタグ
コンパイラ javac コンパイラのパス (/opt/sun1.7/bin/javac など)
オプション ソースバージョンとクラスパスをリストする区切られたコンパイラオプションリスト、-classpath;/space/testing/java/jdk1.7.0_25/jre/lib/resources.jar:/space/testing/java/jdk1.7.0_25/jre/lib/rt.jar;-source;1.7) クラスパスエントリは Unix では ":"、Windows では "%3B" で区切られています。

jcompile 行

各 jcompile 行は、Java ソースファイルのコンパイルを追跡するために使用されます。

jcompile 行の例:

jcompile;/space/testing/java/jdk1.7.0_25/bin/javac;/space/testing/run/scripts/kwinject/javac/basic/A;a.java

フィールドは次のとおりです。

フィールド 説明
jcompile タグ jcompile 行のタグ
コンパイラ javac 実行可能ファイルのフルパス
ターゲット 生成される .class ファイルまたは .jar ターゲットファイルのフルパスを含むディレクトリ
ソースファイル ソースファイルのフルパス名

jar 行

各 jar 行は、jar の実行、つまり .jar ファイルの作成方法を追跡するために使用されます。

jar 行の例:

jar;/space/testing/run/scripts/kwinject/javac/basic/A.jar;/space/testing/run/scripts/kwinject/javac/basic/A/A.class

フィールドは次のとおりです。

フィールド 説明
jar タグ jar 行のタグ
出力ファイル .jar 出力ファイルのフルパス
入力ファイル .class ファイル、ディレクトリ、または .jar ファイルのセミコロン区切りリスト