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

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

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

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

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

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

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

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

  4. 2020.1 ビルドのマシン上で、通常どおりプロジェクトを構築します。たとえば、
    kwbuildproject --url http://my2021server.acme.com:8084/demosthenes -o tablesdir buildspec.out
  5. 2020.1 ビルドのマシン上で kwadmin load コマンドを使用してビルドを Klocwork 2021.1 サーバーにロードします。たとえば、
    kwadmin load demosthenes tablesdir --url http://my2021server.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://my2021server.acme.com:8084
システムは、default_checkers_configuration.xml ファイルをプロジェクトフォルダーから削除します。

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