qacli project roots

プロジェクトに対するルートエントリの管理をします。


使用方法

project roots  {-A <name>|-R <name>|-L} -P <directory> [-p <directory>] [-f] [--] [-h]

詳しい説明

一般にコードベースは多くのプロジェクト、サブプロジェクト、コンポーネントおよび/または、モジュールで構成されています。多くの場合、各エンティティのビルドは、インクルードディレクトリなど別のエンティティからの情報に依存します。


Perforce QACのプロジェクトは移植可能であるよう設計されています。

例えば、あるマシンでプロジェクトをバージョン管理システムへチェックインし、別のマシン上で解析のためにそのプロジェクトを チェックアウトすることができます。

この操作を実現するためには、サードパーティ製ソフトウェアやプロジェクトのインクルードディレクトリなどの従属性が、プロジェクトがチェックアウトまたは移動された場所で機能することが必須です。


Perforce QAC では、ソースファイルに複数のルートディレクトリを設定することができます。

ほとんどの場合、単一のルートディレクトリで十分ですが、例えば、サードパーティのコードを使用 する場合などに、複数のルートディレクトリが必要な場合があります。詳細については、「ソースのルートディレクトリを設定する」を参照してください。


Perforce QACプロジェクトは、デフォルトで常に少なくとも2つのルートを含んでいます。

PROJECT_ROOT:Perforce QAC プロジェクトの場所です(つまり、prqaproject.xml ファイルの格納されているディレクトリ)。

SOURCE_ROOT:プロジェクトのソースコードの場所です。明示的な設定がない場合、デフォルトの PROJECT_ROOT になります。


ルートは通常 prqaprojt.xml に保存されます。これによりルートが当該プロジェクト固有になります。

プロジェクトに既存するルートを追加する場合、そのルートは prqaproject.xml のエントリをオーバーライドし異なる場所に保存されます。

これにより、基になるプロジェクトを変更することなくユーザの環境にルートを合わせることが可能になります。


オプション

オプション名、短縮形 デフォルト 説明
‑‑add, ‑A   プロジェクトに所定のルートを追加します。ソースコードの場所を指定するには SOURCE_ROOT を使用してください。
‑‑force, ‑f   ルートをプロジェクト特有にします。
‑‑help,‑h   使用方法の情報を表示し、終了します。
‑‑ignore‑rest, ‑‑   このフラグ以降のラベルの付いた引数をすべて無視します。
‑‑list, ‑L  

プロジェクト内のすべてのルートを表示します。

‑‑path, ‑P   当該ルートのディレクトリへのパスです。パスの編集はできません。指定された通り正確に記述します。
‑‑remove, ‑R   プロジェクトから所定のルートを削除します。
‑‑qaf‑project, ‑P . Perforce QACプロジェクトへの有効なパスを指定します。

プロジェクトに SOURCE_ROOT を設定する

qacli project roots -P . --add SOURCE_ROOT --path /home/katie/src –-force

このコマンドでプロジェクト内の SOURCE_ROOT の場所を変更します。


SOURCE_ROOTをオーバーライドする

qacli project roots -P . --add SOURCE_ROOT --path /home/steve/src

このコマンドは SOURCE_ROOT の場所を変更しますが、プロジェクト内の SOURCE_ROOT の場所は変更しません。


ルートを一覧表示する

qacli project roots -P . --list 

プロジェクト内のすべてのルートを表示します。 ルートが複数のレベルに存在する場合、一番重要なエントリ(user > project)のみが表示されます。


ルート内のルート

ルートは他のルートを内包することもできます。 シェルが変数をインタプリタするのを回避するため、引数のクォート(quoting)には注意してください。

qacli project roots  -P . --add THIRD_PARTY_PARENT --path ‘/home/steve’ --force

qacli project roots  -P . --add THIRD_PARTY_ROOT --path ‘${THIRD_PARTY_PARENT}/src’ --force