qacli project files
Perforce QAC プロジェクトからソースファイルを追加または、削除します。 ファイル/フォルダ特有のコンポーネントオプションを操作します。
使用方法
project files {-A <filelist>|-R <filelist>|-a|-r|-s|-e|-u|-x|-l} -P <directory> [-z <command>] [-p <priority>] [-C <cct-name>] [-Z] [-f] [-o <option-name>] [-v <option-value>] [-O <options-file>] [-F <filelist>] [-c <component key>] [--] [-h]
詳しい説明
ユーザのプロジェクトからソースファイルをPerforce QAC プロジェクトに追加します。 以降、追加されたファイルは解析されレポートされます。
ファイルまたは、フォルダベースの特定の解析オプションを指定することができます。その場合、コンポーネント全体に設定されていたオプションはオーバーライドされます。
ユーザがどのファイルを優先して解析するかを指定することを可能にします。
オプション
例
特定の優先順位とCCTをもつファイルを追加する
qacli project files -P . --add --analysis-priority 100 --cct gcc-13 -- -Isrc/ -Ithird/party/lib/include -DMACRO=1 src/foo.c
このコマンドで記述されているIncludes/Defines
をもつファイル foo.c を追加します。
このコマンドにはオプションのフィールド、解析の優先順位(= 100)および、CCT gcc-13(すでにプロジェクトに含まれている必要がある)があります。
ファイルを明示的に追加する
qacli project files -P . --add --analysis-priority 100 -- -Isrc/ -Ithird/party/lib/include -DMACRO=1 src/file.c
同じ名前のファイルがすでにプロジェクトに存在する場合、そのファイルは新しい引数データでアップデートされます。
複数のファイルを明示的に追加する
ファイルをファイルリストに含むことにより複数のファイルを追加することが可能になります(関連する Include/Define
と共に)。
フォルダのアップデート
同期または、プロジェクトの最適化に続き、従属性のデータ(インクルードパス、マクロ定義)がプロジェクト内でフォルダと紐づけられます。 従属性のデータを含むフォルダ下にあるファイルは、この従属性を継承します。ゆえに、フォルダを直接変更するメカニズムがあると有用です。 以下の例のようにフォルダをアップデートすることが可能です。
コンパイルコマンドスイッチとの併用はできません。 コンパイララッピングを参照してください。 引数リスト内で複数のフォルダを指定することが可能です。
フォルダに異なるCCTを使用する
通常ひとつのプロジェクトは各言語につきひとつのCCTを使用しますが、複数のCCTを使用することもできます。複数のCCTを持つプロジェクトの作成を参照してください。
Auto CCT
を使用する場合、正しいCCTが正しいファイルに自動的に割り当てられます。あるいは、各ファイルまたは、ディレクトリに使用するCCTを明示的に指定することもできます。
ファイルごとに指定することもできますが、大きなプロジェクトの場合この方法は非常に時間がかかりますし、実用的ではありません。より一般的な方法は、フォルダごとに Default CCT
を指定することです。例:
このディレクトリ内とその下層に続く(CCTと同じ言語の)すべてのファイルはこのCCTを使用します。
ファイルを明示的に削除する
プロジェクト内でファイルが一貫していることを確認するための最も簡単な方法は、「qacli sync」コマンドを使用することです (qacli syncで説明されています)。 「qacli sync」コマンドは、必要に応じてファイルを追加および削除します。 また、必要に応じて特定のファイルを削除することもできます。例えば、
複数のファイルを明示的に削除する
ファイルをファイルリストに含むことにより複数のファイルを削除することが可能です(関連するInclude/Define
は任意)。
フォルダの削除
ファイルと同様個々のフォルダを削除することも可能です。
この方法でフォルダを削除すると、そのフォルダのディレクトリに直接格納されているファイルも削除されますが、子/サブフォルダは削除されません。
最適化
多くのファイルが一度にプロジェクトに追加、削除されたときには、プロジェクトの最適化処理をするとよいでしょう。 プロジェクトの最適化の詳細については、 プロジェクトの最適化を参照してください。
オプションの変更
オプションは一般的にコンポーネントのレべルで設定されています。この設定は異なる値でオプションを指定することでファイルまたは、フォルダ(および、後続するファイル)レベルのオプションとして変更することができます。
CLI ではオプションを直接変更するまたは、変更したいオプションと値のリストを指定することが可能です。
個々のファイル/フォルダを変更することも可能です。または、filelist
にファイルリストを指定することもできます。
--set
オプションを使用していますが、--unset
および、 --set-once
オプションも同様の方法で使用します。単一ファイルに対する単一オプションの変更および表示
src/test_1.c
ファイルに対し定義を1つ追加し、そのファイルのすべてのオプションを表示します。
qacli project files -P . --set --option d --value NAME=Baldrick --component qac -- src/test_1.c
qacli project files -P . --list --component qac -- src/test_1.c
複数のファイルに対する複数のオプションの変更および表示
複数のオプションを変更するにはoptions-list
(options.lst
) を作成し、それを複数のファイルに適用します。
qacli project files -P . --set --options-file options.lst --component qac -- src/test_1.c src/test_2.c
ファイル2つに対し、2つのオプションを変更する試みです。
qacli project files -P . --list --component qac -- src/test_1.c
-d NAME=Baldrick
-d IQ=10
複数のファイルに対するオプションの変更
複数のファイルに対し1つのオプションを変更するためには filelist (files.lst
)にファイルのリストを挿入します。
qacli project files -P . --set --option d --value NAME=Baldrick --component qac --files files.lst
qacli project files -P . --list --component qac --files files.lst
* /home/steve/.config/Perforce/QAC-2022.1/samples/sample_mixsource-2022.1/src/test_1.c
-d NAME=Baldrick
* /home/steve/.config/Perforce/QAC-2022.1/samples/sample_mixsource-2022.1/src/test_2.c
-d NAME=Baldrick
複数のファイルに対する複数のオプションの変更
複数のファイル内の複数のオプションを変更するためにoptions-list
を filelist
と結合することができます。
qacli project files -P . --set --options-file options.lst --component qac --files files.lst
ファイル2つに対し、2つのオプションを変更する試みです。
qacli project files -P . --list --component qac --files files.lst
* /home/steve/.config/Perforce/QAC-2022.1/samples/sample_mixsource-2022.1/src/test_1.c
-d NAME=Baldrick
-d IQ=10
* /home/steve/.config/Perforce/QAC-2022.1/samples/sample_mixsource-2022.1/src/test_2.c
-d NAME=Baldrick
-d IQ=10
個々のオプションの削除
--unset
オプションを使用して個々のオプションおよび値を削除することができます。上記の --set
オプションと同じフォーマットで記述することができます。例:
qacli project files -P . --set --option d --value NAME=Baldrick --component qac -- src/test_1.c
qacli project files -P . --unset --option d --value NAME=Baldrick --component qac -- src/test_1.c
qacli project files -P . --list --component qac -- src/test_1.c
すべてのオプションの削除
すべてのオプションを削除するには--clear オプションを使用します。
qacli project files -P . --set --option d --value NAME=Baldrick --component qac -- src/test_1.c
qacli project files -P . --clear --component qac -- src/test_1.c
qacli project files -P . --list --component qac -- src/test_1.c
filelist
を使用することも可能です。複数のコンポーネントでのオプションの変更
上記の全例ではオプションが適用されるコンポーネントが明示的に指定されています。 options-list
(または、 --list option
) を使用するときにはコマンドラインからコンポーネントを省くことができます。 options-lists
ではファイルの最初のコラムがコンポーネントです。例:
qacli project files -P . --options-file component_options.lst --set -- src/test_1.c
ファイル1つに対し、3つのオプションを変更する試みです。
qacli project files -P . --list -- src/test_1.c
qac -d NAME=Baldrick
qac -d IQ=10
namecheck -echo Namecheck