カスタムレポートプラグイン

ユーザは独自のレポート生成を作成することができます。特定の規定に従って作成すれば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の呼び出しは、データインプット、出力、その他のオプションを定義する複数のパラメータを含みます。

-d <xml インプットファイル> 
-o <出力ファイル> 
[ -r <rcf>
[ -a <acf>
[ -u <umsg>
[ -q <qaf>
[ -s ]

「-s」以外は、上記の説明から明らかであると思われます。 これは、従属性チェックが省略されたため、結果が100%確実ではない可能性があるということです。 このような場合は、「(ドラフト)」とタイトルに追加しその説明をつけることでレポートのステータスを表示する必要があります。

XMLの結果のファイルの正確な形式は、明確に文書化されておらず、Perforce QACのリリースによっては変更になる可能性があります。 ビルドインのレポートを検討することが、自分でレポートのスクリプトを記述するための十分な理解を得る最良の方法です。

標準のPythonスクリプトは、短いパラメータ名と同様、長いパラメータ名をサポートしますが、Perforce QACでは、短い形式のみを使用します。 長い名前は、スクリプトを単独で使用する場合の利便性のためで、ユーザが記述したスクリプトに長い名前をつける必要はありません。