デベロッパーへの build specification template (ビルドスペックテンプレート) の提供
通常、デスクトップで作業を行っているデベロッパーは、Klocwork 解析の一部として、各自が手動または自動で独自の build specification (ビルドスペック) を作成します。
別の方法として、build specification template (ビルドスペックテンプレート) を作成することもできます。 このテンプレートは kwcheck、Klocwork Desktop、kwbuildproject と使用できます。
build specification template (ビルドスペックテンプレート) は、デベロッパーデスクトップ上で異なる可能性のあるパスに変数を使用する build specification (ビルドスペック) のバージョンです。ビルドエンジニアは、すべてのデベロッパー間で共有できる 1つのファイルを作成できます。Klocwork 解析の実行に build specification template (ビルドスペックテンプレート) を使用すると、変数リファレンスは変数値で置換されます。
これは、1つのビルド環境で作成された build specification (ビルドスペック) を別のビルド環境で使用できることを意味します。
サーバープロジェクト build specification template (ビルドスペックテンプレート) をデスクトッププロジェクトで有効に使用するためには、次の要件 を満たしている必要があります。
- コンパイラバージョンとデフォルトのコンパイルフラグがデスクトップ上と同様にサーバー側でも同じであること。
- ユーザーがデスクトッププロジェクト上でファイルの追加や削除、またはコンパイルフラグの変更を行わないこと。(ユーザーがファイルを追加したりコンパイルフラグを変更したりした場合は、それらのファイルが解析に含まれないため、結果の精度の低下につながります。
build specification template (ビルドスペックテンプレート) は次のような環境で使用すると便利です。
- サーバーで大きなプロジェクトが定期的にビルドされる場合
- 多数のユーザーが他のマシンに同じプロジェクトの作業コピーを維持している場合
- ユーザーがビルドプロセスに変更を加えることが禁止されている場合、またはクライアント側で完全なビルドを実行せず、小さいコンポーネントを1つすつ処理する場合
- コンポーネント間の Klocwork 解析の利点を生かすため、ユーザーが完全な build specification (ビルドスペック) を使用する場合
- サーバーとクライアントのマシン上のプロジェクトレイアウトは同じだが、ソースルートディレクトリのパスが異なる場合
build specification template (ビルドスペックテンプレート) の作成と使用の概要
- build specification template (ビルドスペックテンプレート) はこのセクションで示したとおり作成します。ファイルには拡張子.tplが必要です。
- build specification template (ビルドスペックテンプレート) は kwadmin import-config を使用して統合プロジェクトにインポートします。
- build specification template (ビルドスペックテンプレート) でどの変数を作成したかを開発チームに知らせます。
- kwpsroot 変数のみを使用した場合を除き、デベロッパーはテンプレート内の変数をローカルパスにマッピングします。統合プロジェクトのビルド設定の使用を参照してください。
- デベロッパーは Klocwork 解析を実行します。統合プロジェクトへの接続のため、kwcheck および Klocwork Desktop は build specification template (ビルドスペックテンプレート) ファイルを自動的に取得して使用します。
また、build specification template (ビルドスペックテンプレート) を kwbuildproject で使用することもできます。kwbuildproject での build specification template (ビルドスペックテンプレート) の使用を参照してください。
kwpsroot 変数
kwpsroot 変数は build specification template (ビルドスペックテンプレート) で使用する変数で、kwcheck プロジェクト設定ディレクトリの親ディレクトリの名前で自動的に置換されます (デフォルトでは.kwps)。
たとえば、.kwps へのパスが /home/joeuser/dev/myproject/.kwpsである場合、%kwpsroot% は /home/joeuser/dev/myproject に展開されます。
プロジェクト内のすべてのパスが .kwps 親ディレクトリの場所を基準としている場合、ビルドチームは、--variable オプションkwinject を設定して kwpsroot 変数のみを定義する必要があります。この場合、デベロッパーは kwcheck set-var に変数値を設定する必要はありません。