ビルドのクロスバージョンサポート

KlocworkKlocwork サーバーからのビルドサーバーバージョンを切り離しています。このため、古いビルドサーバーツールを、1 バージョン前のフルリリースに戻って Klocwork サーバーのより新しいバージョンで使用できます。これは、たとえばデータをインポートまたは移行することなく、Klocwork 2023.32024.2 の任意のバージョンから Klocwork 2024.3 に、Klocwork ビルドをロードできるということです。

大規模な組織にとって、この機能はサーバーやデスクトップのプラグインをアップデートしてより新しいリリースにおける改良を利用しながら、プロジェクトの一部または全部を Klocwork の以前のバージョンで解析できる柔軟性をもたらします。

例: ビルドを Klocwork の以前のバージョンから Klocwork サーバーのより新しいバージョンにロードし、それを以前の設定にロックする

このシナリオでは、Klocwork の以前のバージョンで実行されるビルドが既にあり、それらを Klocwork サーバーのより新しいバージョンにロードしようとしています。他のビルドマシンからプロジェクトをインポートすることもでき、または新しいプロジェクトの作成から開始してビルドをロードすることができます。この例では、Klocwork 2023.1 で新しいプロジェクトを作成してから、Klocwork の 2022.1 バージョンを実行しているビルドマシンからビルドをロードします。
  1. Klocwork 2023.1 で、ポータルにログインし、たとえば demosthenes というプロジェクトを作成します。
  2. ビルドマシンから次のコマンドを実行することで、プロジェクトを 2022.1 設定にロックします。たとえば、
    kwadmin lock-project-version --url http://my2023server.acme.com:8084 demosthenes

    このコマンドは、ビルドマシン上のエンジンおよびチェッカー設定に関する情報を格納するファイルを作成します。これにはどのカスタムチェッカーも含まれており、また有効なチェッカーも無効なチェッカーも含まれています。サーバーはこの情報をプロジェクトの基本設定として使用します。

  3. Klocwork 2023.1 ポータルで、demosthenes プロジェクトを開きます。必要に応じて、2022.1 チェッカーを有効または無効にすることができます。

    2022.1 以降に導入されたどのチェッカーも使用できません。それはプロジェクトをそのバージョンの製品にロックしたからです。

  4. 2022.1 のビルドマシンで、通常どおりプロジェクトをビルドします。たとえば、
    kwbuildproject --url http://my2023server.acme.com:8084/demosthenes -o tablesdir buildspec.out
  5. 2022.1 のビルドマシンで、kwadmin load コマンドを使用してビルドを Klocwork 2023.1 サーバーにロードします。たとえば、
    kwadmin load demosthenes tablesdir --url http://my2023server.acme.com:8084

プロジェクトが Klocwork の以前のバージョンにロックされている場合に検証する方法

プロジェクトを Klocwork の以前のバージョンにロックする場合は、lock-project-version コマンドが default_checkers_configuration.xml と呼ばれる設定ファイルを作成し、それを Klocwork サーバーのそのプロジェクトディレクトリに移動させます。設定ファイルは、そのリリースで使用可能なチェッカーの情報を、そのビルドマシンに展開されたすべてのカスタムチェッカーも含めて格納します。

default_checkers_configuration.xml のプロジェクトディレクトリを検索し、自分のプロジェクトが Klocwork の以前のバージョンにロックされているかどうかを検証します。

Klocwork の以前のバージョンからのプロジェクト設定をもはや使用しないように、プロジェクトのロックを解除する

プロジェクトを、もはや Klocwork の以前のバージョンにロックしない場合は unlock-project-configuration コマンドを使用します。たとえば、

kwadmin unlock-project-version demosthenes --url http://my2023server.acme.com:8084
システムは、default_checkers_configuration.xml ファイルをプロジェクトフォルダーから削除します。

プロジェクトはまだ Klocwork の以前のバージョンにより解析されているので、どのチェッカーもそのリリース以降に削除されたり、名前を変更されると、ポータルにレポートが表示されません。同様に、プロジェクトはそのリリース以降に導入されたどの新しいチェッカーもレポートしません。全ての新しいチェッカーを活用するには、プロジェクトを Klocwork の現在のバージョンで解析する必要があります。