カスタムレポートプラグイン
ユーザは独自のレポート生成を作成することができます。特定の規定に従って作成すればPerforce QACに完全に組み込むことができるので通常はPythonスクリプトを使用します。
レポートジェネレータは、Perforce QACインストレーションフォルダのreport_plugins
サブフォルダにあります。Three_Capitalized_Words.py
の形式で名前がつけられています(レポートジェネレータの命名に関する詳細はレポートジェネレータの命名を参照してください)。
スクリプトは、.pl
拡張子を使用し、Perl で記述することもできます。その場合は、ユーザがPerl を自分でインストールし、設定する必要があります。そうすることで、シンプルな「perl」コマンドを呼び出します。 他の拡張子のついた(または、拡張子のない)ファイルは、お使いのオペレーティングシステムのコマンドインタープリタ(例:cmd.exeはWindows、bashはLinuxなど)へ直接送られます。
Perforce QACは、レポートジェネレータを2度呼び出します。要件を決定するために1度、そしてその要件が処理されレポートを実際に生成するために1度呼び出します。 最初の呼び出しは、単独のパラメータ「-i
」を使用します。ジェネレータは以下をプリントすることで呼び出しに応答します。
data: xml
[ require (必要): project ]
[ require (必要): cma ]
[ require (必要): violations ]
[ require (必要): suppresssions ]
[ require (必要): rcf ]
[ require (必要): *cf ]
[ require (必要): umsg ]
[ require (必要): qaf ]
format (形式): <output type>
[ acronym (略語): <TLA> ]
「データ」の行は、インプットの形式を定義します。 「xml」形式でなければなりません。 (他の形式は現在サポートされていません)
任意の「必要」の行は、レポートに使用できる情報を決定します。 最初の4つ(「project
」、「cma
」「violations
」、「suppressions
」)は、メインのXMLファイルの内容に影響し、その他は、必要に応じて追加のファイルへのアクセスを提供します。
「rcf
」は、レポート出力ディレクトリに保持されているRule Control Fileのコピーを要請し、2回目の呼び出しに
「-r
」パラメータとして供給されます。 理由に係わらずコピーに失敗した場合は、警告メッセージがログに記録され代わりにオリジナルへの参照が生成されます。
「*cf
」は、すべての設定制御ファイルを要請します。現在のところRule Control Fileおよび、Analysis Control Fileで、パラメータ「-r
」および「-a
」として供給されます。 これらは、オリジナルへの参照であり、上記の「rcf」とは逆に、追加のコピーは作られないことに留意してください。 コピーが必要な場合は必要に応じて作成してください。
「umsg
」は、「-u
」パラメータとして供給されるすべてのユーザ定義のメッセージを含むファイルを要請します。 このファイルは、すべてのプロジェクトに共通ですが、各インストールおよびまたは、Perforce QACの各ユーザに固有のものです。
「qaf
」は、「-q
」パラメータとして供給されるPerforce QACのインストレーションフォルダを要請します。
「format
」の行は通常は、「html
」、「xml
」、「txt
」などで出力ファイルの拡張子として使用されます。
最後に、「acronym
」がある場合は、レポートジェネレータの命名のルールにより割り出されます。 一貫性のない頭字語の影響は未定義です。
第2の呼び出しは、データインプット、出力、その他のオプションを定義する複数のパラメータを含みます。
「-s
」以外は、上記の説明から明らかであると思われます。 これは、従属性チェックが省略されたため、結果が100%確実ではない可能性があるということです。 このような場合は、「(ドラフト)」とタイトルに追加しその説明をつけることでレポートのステータスを表示する必要があります。
標準のPythonスクリプトは、短いパラメータ名と同様、長いパラメータ名をサポートしますが、Perforce QACでは、短い形式のみを使用します。 長い名前は、スクリプトを単独で使用する場合の利便性のためで、ユーザが記述したスクリプトに長い名前をつける必要はありません。