カスタムチェッカーの展開

カスタムチェッカーを展開するには、次のいずれかを行うことができます:

  • サーバーおよび任意のビルドマシンへのチェッカー展開パッケージの配置を実行します。カスタムチェッカーを Klocwork サーバーに展開するには、kwdeploy コマンドを使用して、同期によって接続されたどのデスクトップでも使用できるようにします。
  • 通常、チェッカー テストの目的で、デスクトップにパッケージを展開しますデスクトップのみの展開では、kwdeploy コマンドは使用せず、チェッカー展開パッケージを適切なフォルダーに置くだけで達成されます。カスタム関数付き KAST チェッカー、および、C/C++ Path チェッカーは、デスクトップに手動でインストールする必要があります。これは、同期によってサーバーからデスクトップに .dll または .so ファイルがプッシュされることがなく、また、その逆もないからです。

チェッカー展開パッケージ

チェッカーの展開は、チェッカー展開パッケージを使用して開始します。チェッカー展開パッケージは、カスタム チェッカーをビルドしたときに作成されたファイルを含む、jar または zip ファイル アーカイブです。チェッカー展開パッケージには、以下のために必要なファイルが含まれています:

  • チェッカーを、統合プロジェクトのために Configuration Editor に表示し、また、接続されたあらゆるデスクトップのために Configuration Editor に表示して、ユーザーが新しいチェッカーと有効または無効にできるようにします
  • 特定の C/C++、C# または Java 指摘タイプを検出します
  • Klocwork にチェッカー用の指摘ヘルプを表示します
  • チェッカー用指摘ヘルプを、http://<klocwork_server_host>:<klocwork_server_port>/documentation の C/C++、C# または Java チェッカーリファレンスに表示します。Klocwork ドキュメンテーションは、所属組織に Klocwork のサーバーインストールがある場合のみ使用可能です。
  • Klocwork および Klocwork プラグインの解析結果に、適切なメッセージとチェッカーのタイトルを表示します。

カスタムチェッカーを展開する場合は、それが Java、C/C++、C# チェッカーのいずれであるかが分かっている必要があり、C/C++ チェッカーであれば、それがフォーム固有であるかどうか判定します。通常、C/C++ チェッカーはプラットフォーム固有ですが、カスタム関数と使用しない C/C++ KAST チェッカーはプラットフォーム非依存型です。チェッカー展開パッケージ (ZIP ファイル) の内容を確認し、最上位にプラットフォームサブディレクトリがあるかを調べます。最上位のプラットフォームサブディレクトリがパッケージに含まれる場合は、チェッカーはプラットフォーム固有です。また、展開前に、チェッカーを無効にできるようにするか決定することも必要です。

チェッカー展開パッケージの内容

チェッカー展開パッケージの内容は、KAST チェッカーであるか、Path チェッカーであるかにより、また、C/C++ チェッカーであるか Java チェッカーであるかによって異なります。C/C++ チェッカーは ZIP ファイルに格納され、Java チェッカーは JAR ファイルに格納されます。

Java Path または KAST チェッカー用の JAR には次のファイルおよびフォルダーが含まれます:

ファイル名またはフォルダー 説明
<CHECKER.CODE>.jkb Java Path チェッカー用のみ、チェッカーの動作を定義するナレッジベースファイルが含まれます。
checkers.xml チェッカー構成であり、デフォルトではチェッカーは解析に有効になります。展開前に、チェッカーを無効にできるようにする場合に、アクセスする必要があるファイルです。
toc.xml、<CHECKER.CODE>.htm、など Klocwork が読み取れるフォーマットに変換した、チェッカーのヘルプファイルが含まれ、また、http://<klocwork_server_host>:<klocwork_server_port>/documentation の Klocwork ドキュメンテーションも同様です。

C/C++ KAST または Path チェッカー用の ZIP ファイルには次のファイルおよびフォルダーが含まれます:

ファイル名またはフォルダー 説明
<CHECKER.NAME>.xml チェッカー構成であり、デフォルトではチェッカーは解析に有効になります。展開前に、チェッカーを無効にできるようにする場合に、アクセスする必要があるファイルです。
<CHECKER.NAME>.jar Klocwork が読み取れるフォーマットに変換した、チェッカーのヘルプファイルが含まれ、また、http://<klocwork_server_host>:<klocwork_server_port>/documentation の Klocwork ドキュメンテーションも同様です。
<platform directory> チェッカーが Path チェッカーまたはカスタム関数を使用する KAST チェッカーである場合の、プラットフォームディレクトリです。プラットフォームディレクトリには、プラグインライブラリ (.so または .dll) が含まれるはずです。可能性があるサブディレクトリーは:
  • ix86-pc-win32
  • ix86-pc-linux

C# KAST チェッカー用の ZIP ファイルには次のファイルおよびフォルダーが含まれます:

ファイル名またはフォルダー 説明
<CHECKER.NAME>.xml チェッカー構成であり、デフォルトではチェッカーは解析に有効になります。展開前に、チェッカーを無効にできるようにする場合に、アクセスする必要があるファイルです。
<CHECKER.NAME>.jar

Klocwork が読み取れるフォーマットに変換した、チェッカーのヘルプファイルが含まれ、また、http://<klocwork_server_host>:<klocwork_server_port>/documentation の Klocwork ドキュメンテーションも同様です。

カスタムチェッカーヘルプの要件

カスタムチェッカー用に作成するチェッカーヘルプの場合は、jar または zip ファイルのルートレベルで、'.htm' ファイルの形式である必要があります。

日本語カスタムチェッカー用ヘルプの生成

日本語でチェッカーを作成する場合は、いくつかの追加手順を実行して、ルートレベルで "/ja" フォルダーを追加する必要があります。

kwcreatechecker を使用してカスタムチェッカーパッケージを既に作成していると仮定して、次を行う必要があります。

  1. 新しいカスタムチェッカーが含まれているフォルダーを開きます。
  2. ファイル 'help.xml' のコピーを作成し、その名前を 'help_ja.xml' に変更します。(元のファイルと同じディレクトリにそれを保存します)
  3. 新規作成した 'help_ja.xml' ファイルを開き、'help language' タグに 'lang="ja" を追加します。例:
    <help language="cxx" lang="ja">
  4. エディターで Makefile を開き、kwxpack コマンドの末尾に -t help_ja.xml を追加します。例:
    $(KW_INSTALL_DIR)\bin\kwxpack" MY.C.KAST.CHECKER5 checkers.xml help.xml -t help_ja.xml
  5. nmake を再び実行して、新しいカスタムチェッカー zip ファイルを生成し、新しい '/ja' フォルダーが含まれていることを確認します。