qacli cma

CMA(クロスモジュール解析)ソリューションを設定します。


使用方法

cma  {-C <solution-name>|-M <solution-name>|-D <solution-name>|-L 
        <solution-name>} [-P <directory>] [-K <config name>] [-a] [-r] [--]
        [-h]

詳しい説明

クロスモジュール解析は単一のPerforce QACプロジェクト(単一プロジェクトCMA解析 を参照)または、複数のPerforce QACプロジェクト(マルチプロジェクトCMAソリューション解析を参照)に対し実行することができます。

このコマンドを使用してマルチプロジェクト CMA(別名、CMAソリューション)を設定することが可能です。 また、多数のCMAソリューションを複数のPerforce QACプロジェクトを使用して生成することも可能です。

さらに、任意で各Perforce QACプロジェクト内のどの設定を使用するかを定義することもできます。

CMA ソリューションが生成されたのちは、qacli analyze  および、qacli view コマンドから指定することができます。


オプション

オプション名、短縮形 デフォルト 説明
‑‑add‑project, ‑a   既存のCMAソリューションにPerforce QACプロジェクトを追加します。
‑‑config, ‑K   複数の設定を持つプロジェクトに対しどの設定を使用するかを指定します。指定がない場合は、デフォルトが使用されます。
‑‑create, ‑C   空のCMAソリューションを生成します。後に、'add-project' オプションを使用してPerforce QAC プロジェクトを追加することができます。
‑‑delete, ‑D   CMAソリューションを削除します。関連するPerforce QACプロジェクトは削除されません。
‑‑help,‑h   使用方法の情報を表示し、終了します。
‑‑ignore‑rest, ‑‑   このフラグ以降のラベルの付いた引数をすべて無視します。
‑‑list, ‑L   CMAソリューションの内容をリスト表示します(すべてのCMAソリューションをリスト表示するためには '*' を使用)。
‑‑modify, ‑M   CMAソリューションの内容を更新します。このオプションは、'add-project' および、 'remove-project' オプションと共に使用します。
‑‑qaf‑project, ‑P   Perforce QACプロジェクトへの有効なパスを指定します。
‑‑remove‑project, ‑r   既存のCMAソリューションからPerforce QACプロジェクトを削除します。

CMAソリューションの設定データはUDLに保存されます。

CMAソリューションの生成と詳細の記述

まず、空のソリューションを作成します。

qacli cma --create FOO_SOLUTION 

その後、Perforce QACプロジェクトのデータを入力します。

qacli cma --modify FOO_SOLUTION --qaf-project /home/trinity/foo_a --add-project 
qacli cma --modify FOO_SOLUTION --qaf-project /home/trinity/foo_b  --config basic_config --add-project 

この記述で、foo_a プロジェクトをソリューションに追加します(Perforce QACプロジェクトと関連するデフォルト設定を使用)。

次のコマンドで、foo_b プロジェクトをソリューションに追加します。ここでは、明示的に basic_config を指定して使用する必要があります。 その後、このCMAソリューションは解析に使用できます。例:

qacli analyze --file-based-analysis --cma-solution FOO_SOLUTION --qaf-project /home/trinity/foo_a 

ソリューションの内容を表示する

以下のように、--list オプションを使用してソリューションの内容を表示することができます。

qacli cma --list FOO_SOLUTION

また、ソリューション名に  '* '  を用いることですべてのソリューションをリスト表示することができます。

qacli cma --list '*' 

プロジェクトおよび、ソリューションを削除する

ソリューションからPerforce QACプロジェクトを削除するには:

qacli cma --modify FOO_SOLUTION --qaf-project /home/trinity/foo_a --remove-project 

完全にソリューションを削除するには:

qacli cma --delete FOO_SOLUTION

このコマンドは指定したソリューションを削除しますが、基になるPerforce QAC プロジェクトには影響を与えません。