Rational Developer for System z

コード・レビュー・アプリケーションの呼び出し

このトピックでは、Linux または Windows のコマンド行からコード・レビュー・アプリケーションを実行する方法について説明します。
注: コード・レビュー・アプリケーションを実行する前に、以下のようにします。
  • 開いているすべての Eclipse ワークスペースを閉じます。
  • 実行中のコード・レビュー・アプリケーションのインスタンスがあれば、どれも完了まで実行させます。

コード・レビュー・アプリケーションを呼び出すための構文

コード・レビュー・アプリケーションは、Linux または Windows のコマンド行でコマンドを入力することによって呼び出されます。ワークスペース、ソース・コード・ロケーション、分析スコープ、分析規則セット、および出力データ・ファイルのリポジトリーを設定するためのパラメーターがあります。これらのパラメーターは、任意の順序で入力できます。コマンド行の長さを短くするため、必要に応じて環境変数を使用してください。 以下の点に注意してください。
  • コマンドは 1 行で入力します。
  • ディレクトリーおよびファイルには完全修飾パスを使用します。
  • スペースが含まれるパラメーター値は引用符で囲みます。
構文は以下のとおりです。
図 1. コード・レビュー・アプリケーションを呼び出すための構文

eclipse_directory¥eclipse | eclipse.exe
     -application com.ibm.rsaz.analysis.commandline.AnalyzeApplication
     -data workspace_directory
     -rulefile rule_file
     [-projects P1[, P2, P3, ...] |
     -directory D1[, D2, D3, ...]]
     [-includefile include_file]
     [-excludefile exclude_file]
     -exportdirectory export_directory
     [-nosplash]
     [-verbose]
     [ >output_file
]

それぞれの意味は次のとおりです。

eclipse_directory¥eclipse | eclipse.exe は、Eclipse 実行可能ファイルの完全修飾パスです。Linux の場合は eclipse、Windows の場合は eclipse.exe を使用します。
     -application com.ibm.rsaz.analysis.commandline.AnalyzeApplication は、コード分析コンポーネントの名前です。
     -data workspace_directory は、使用する Eclipse ワークスペースの完全修飾パスです。
     -rulefile rule_file は、分析構成エディターからエクスポートした規則セットと重大度が入っている .dat ファイルの完全修飾パスです。
     -projects P1[, P2, P3, ...] は、ソース・ファイルを含むワークスペース内プロジェクトのコンマ区切りリストです。
     -directory D1[, D2, D3, ...] は、ソース・ファイルが入っているディレクトリーのコンマ区切りリストです。
     -includefile include_file は、コード・レビューに含めるファイルのリストが入っているファイルです。
     -excludefile exclude_file は、コード・レビューから除外するファイルのリストが入っているファイルです。
     -exportdirectory export_directory は、出力データ・ファイルが書き込まれるディレクトリーの完全修飾パスです。
     -nosplash は、Eclipse スプラッシュ画面の表示を抑止します
     -verbose は、出力情報が標準出力に書き込まれるようにします
     > output_file は、標準出力に書き込まれる出力情報を取り込むテキスト・ファイルです。

注: 以下の Eclipse パラメーターはサポートされていません。
  • -reportdirectory
  • -projectname
  • -bindirectory
  • -javacp

コード・レビュー・アプリケーションのパラメーター

表 1 に、コード・レビュー・アプリケーションのアプリケーション・パラメーターを示します。

表 1. コード・レビュー・アプリケーションのパラメーター
ヘッダー タイプ 説明
-application 必須 com.ibm.rsaz.analysis.commandline.AnalyzeApplication

このパラメーターは、呼び出す Eclipse アプリケーションの ID を指定します。コード・レビュー・アプリケーションを識別するための上記テキスト・ストリングを使用してください。

このテキストを示されているとおりに入力してください。

-data 必須 このパラメーターは、コード・レビュー・アプリケーションが使用する Eclipse ワークスペースのパスを指定します。 完全修飾パスでなければなりません。

指定したワークスペースが存在しない場合は、作成されます。

-projects パラメーターも使用する場合、コード・レビュー・アプリケーションは指定されたプロジェクトをそのワークスペースで探します。

-projects パラメーターも -directory パラメーターも指定しない場合、コード・レビュー・アプリケーションは指定されたワークスペース内のすべてのプロジェクトを分析します。

-rulefile 必須 このパラメーターは、コード・レビュー規則セットとそれらの規則に割り当てられた重大度が入っている規則ファイルの完全修飾パスを指定します。 コード・レビュー・アプリケーションは、呼び出しで指定されたプロジェクトまたはファイルにこれらの規則を適用します。

COBOL の場合は、カスタムのカテゴリーと規則、およびユーザー作成のカスタム規則を規則に含めることができます。

COBOL、PL/I、および Java™ の規則を、同じ規則ファイルに含めることができます。処理の際に、コード・レビュー・アプリケーションは検出した各ソース・コード・ファイルのプログラミング言語を判別し、その言語に適用できる規則をそのファイルに適用します。

規則ファイルの拡張子は .dat でなければなりません。このファイルは、呼び出される eclipse.exe ファイルがインストールされているワークステーションのファイル・システムになければなりません。このファイルには、ネットワークを通じてアクセスすることも、イントラネットやインターネットを通じてアクセスすることもできません。

規則ファイルを作成するには、「エクスポート」ボタンを使用して、選択した規則を分析構成エディターからエクスポートします。

-projects
-directory

オプション この 2 つのパラメーターは、分析するソース・コード・ファイルのロケーションを指定します。 (-includefile パラメーターおよび -excludefile パラメーターを使用して、特定のファイルを含めたり除外したりすることもできます。)

指定したワークスペース内のプロジェクトにソース・コード・ファイルがあるときは、-projects を使用します。

指定したワークスペースの外部のディレクトリーにソース・コード・ファイルがあるときは、-directory を使用します。注: ワークスペース内のディレクトリーにあるソース・コード・ファイルを分析する際は、-directory を使用しないことをお勧めします (ワークスペース・ファイルには -directory パラメーターを使用しないを参照)。

-projects-directory も指定しない場合、コード・レビュー・アプリケーションは指定されたワークスペース内のすべてのプロジェクトのソース・コード・ファイルを分析します。

-projects P1[, P2, P3 ...] を指定した場合、アプリケーションはプロジェクトのコンマ区切りリスト P1, P2, P3.... に含まれるすべてのソース・コード・ファイルを処理します。

-directory D1[, D2, D3, ...] を指定した場合、アプリケーションはディレクトリーのコンマ区切りリスト D1, D2, D3, .... に含まれるすべてのソース・コード・ファイルを処理します。

-projects-directory の両方を指定した場合、アプリケーションは -projects パラメーターを処理し、-directory パラメーターは無視します。

-includefile オプション このパラメーターは、-directory パラメーターが存在するときだけ使用されます。分析するソース・コード・ファイルのリスト (1 行に 1 ファイル) が入っているテキスト・ファイルの完全修飾パスを指定します。

-directory パラメーターと -includefile パラメーターの両方が存在する場合、コード・レビュー・アプリケーションは、包含ファイルで指定されていて、かつ、-directory パラメーターで指定されたいずれかのディレクトリーにあるソース・コード・ファイルのみを分析します。

包含ファイル内の各エントリーは、ファイル名か、相対パスにファイル名を付加したものでなければなりません。コード・レビュー・アプリケーションは、指定されたディレクトリーのそれぞれで、各エントリーを探します。

-excludefile オプション このパラメーターは、-directory パラメーターが存在するときだけ使用されます。分析から除外するソース・コード・ファイルのリスト (1 行に 1 ファイル) が入っているテキスト・ファイルの完全修飾パスを指定します。

-directory パラメーターと -excludefile パラメーターの両方が存在する場合、コード・レビュー・アプリケーションは、除外ファイルで指定されていて、-directory パラメーターで指定されたいずれかのディレクトリーにあるソース・コード・ファイルを分析から除外します。除外されないすべてのファイルが分析されます。

除外ファイル内の各エントリーは、ファイル名か、相対パスにファイル名を付加したものでなければなりません。コード・レビュー・アプリケーションは、指定されたディレクトリーのそれぞれで各エントリーを探し、ファイルが見つかった場合はそのファイルを除外します

-exportdirectory 必須 このパラメーターは、コード・レビュー・アプリケーションがその XML および CSV の出力データ・ファイルを書き込むディレクトリーの完全修飾パスを指定します。これらのデータ・ファイルを他のアプリケーションの入力として使用することができます。

出力データ・ファイルとしてサポートされるすべてのタイプが生成されます。

このパラメーターを省略した場合、出力データ・ファイルは生成されません。ただし、アプリケーションは標準出力に出力情報を書き込みます (そのオプションが指定されている場合)。

-nosplash オプション このパラメーターは、Eclipse スプラッシュ画面の表示を抑止します。

-verbose オプション このパラメーターは、コード・レビュー・アプリケーションが出力情報を標準出力に書き込むようにします。
注: Windows オペレーティング・システムの場合、出力情報を取り込むには、-verbose パラメーターを指定するだけでなく、次のようにコマンド行で標準出力をファイルにリダイレクトする必要もあります。
-verbose >output_file
>output_file オプション このリダイレクトをコマンド行で使用して、アプリケーション出力情報をファイルに取り込みます。

Windows の場合、出力情報を取得するためには、同時に -verbose パラメーターを指定する必要があります。

コピーブックまたはインクルード・ファイルの包含

参照されるコピーブックとインクルード・ファイルのほとんどが処理されますが、それぞれが次の 2 つの要件を満たしていなければなりません。
  • 主ソース・コード・ファイルがコピーブックまたはインクルード・ファイルを参照し、その主ソース・コード・ファイルが処理から除外されていない。
  • 次のどちらかの状態が該当する。
    • コピーブックまたはインクルード・ファイルが、主ソース・コード・ファイルと同じプロジェクトまたはディレクトリーに存在する。
    • 主ソース・コード・ファイルが含まれるプロジェクトにローカル・プロパティー・グループが関連付けられており、コピーブックまたはインクルード・ファイルが含まれるプロジェクトのパスが「ローカル・コンパイラー・オプション」グループの「SYSLIB」フィールドに入っている。
      注: 「SYSLIB」フィールドの値を確認するには、次のようにします。
      1. 「プロパティー・グループ・マネージャー」ビューを開きます。
      2. 「ローカル」を展開し、ローカル・プロパティー・グループをダブルクリックします。
      3. 「プロパティー・グループ情報」タブで、「COBOL」タブまたは「PL/I」タブをクリックします。
      4. 左ペインで、「ローカル・コンパイラー・オプション」をクリックします。
      5. 右ペインで、「SYSLIB」フィールドの値を確認します。

サンプル呼び出し

これらのサンプル呼び出しは、コード・レビュー・アプリケーションを呼び出す方法の例を示したものです。 Linux または Windows のコマンド行で、呼び出しを 1 行に入力してください。

  • 2 つの COBOL プロジェクトを指定した -project パラメーターを使用する場合:
    C:\progra~1\IBM\SDP\eclipse.exe 
    -application com.ibm.rsaz.analysis.commandline.AnalyzeApplication 
    -data "C:\RDz 85 workspaces\workspace_851_0914" 
    -rulefile "C:\RDz 8.5\CodeQuality\results\cobolRules.dat" 
    -projects "My COBOL project 0001","My COBOL project 0002" 
    -exportdirectory "C:\RDz 8.5\CodeQuality\CommandlineResults\Results851" 
    -nosplash 
    -verbose > c:\commandlineResults\out851_0916_COBOLProjects.txt
  • -directory パラメーターと -excludefile パラメーターを使用する場合:
    C:\progra~1\IBM\SDP\eclipse.exe 
    -application com.ibm.rsaz.analysis.commandline.AnalyzeApplication 
    -data "C:\RDz 85 workspaces\workspace_851_0914" 
    -rulefile "C:\RDz 8.5\CodeQuality\results\PL1Rules.dat" 
    -directory "C:\CheckSourceCode\PL1_Files_0001" 
    -excludefile "C:\RDz 8.5\CodeQuality\directoryExcludeFiles.txt"
    -exportdirectory "C:\RDz 8.5\CodeQuality\CommandlineResults\Results851" 
    -nosplash 
    -verbose > c:\commandlineResults\out851_0916_PL1Projects.txt

出力データ・ファイルの使用

出力データ・ファイルは、コード・レビュー・アプリケーションが呼び出されるときにコマンド行で指定されたエクスポート・ディレクトリーに書き込まれます。 アプリケーションは呼び出されるたびに、出力ファイルのための新しいサブディレクトリーを作成します。 サブディレクトリーの名前は、YYYYMMDD_hhmmss 形式の日付と時刻から成ります。ここで、YYYY は年、MM は月、DD は日、hh は時間、mm は分、ss は秒です。例えば、次のようになります。
20121008_101746
作成される出力データ・ファイルの数は、Eclipse に登録されたエクスポーターの数によって決まります。 コード・レビュー・アプリケーションは、登録された各エクスポーターからの出力データ用に別々のデータ・ファイルを作成します。
注: 分析構成エディターで、これらの同じタイプのデータ・ファイルにコード・レビュー結果をエクスポートできます。
COBOL または PL/I のソース・コード・ファイルを分析する場合、通常は 5 つの出力データ・ファイルが生成されます。 最も包括的なデータ・セットは、次のリストの最初の 2 つのファイルにあります。
XML Analysis Results.xml
すべての結果情報が XML 形式で入れられます。この形式の XML スキーマは、XML 形式のスキーマの概観に示しました。 このタイプのファイルは、Rational® レポート・ツールおよび同様の製品のデータ・ソースになります。
CSV Analysis Results.csv
すべての結果情報が CSV 形式で入れられます。この形式のフィールドと値は、CSV 形式のフィールドの概観に示しました。 このタイプのファイルは、スプレッドシート・ソフトウェアへのインポートが容易です。また、比較ツールのデータ・ソースにすることができます。
Executed Rules.xml
コード・レビューで適用された規則のリストがプロバイダー順に入れられます。 各規則エントリーには、規則のテキストとその規則に割り当てられた重大度が含まれます。
Scanned Resources.xml
レビューで分析されたソース・コード・ファイルのリストが入れられます。
XML Analysis Results.xml
コード・レビュー・プロセスの要約が入れられます。
注: スコープに Java ソース・コード・ファイルが含まれる場合は、追加の出力データ・ファイルが生成されます。

出力情報の使用

出力情報とは、コード・レビュー・アプリケーションが標準出力に書き込む情報のことです。 この情報には、レポート・リンク、結果のリスト、および結果カウントが含まれます。

レポート・リンクは、出力データ・ファイルをコピーできた可能性があるサーバーの URL です。このリンクは、Developer for System z® では意味を持たないので、無視してください。 例を以下に示します。
[url]http://server:9090/rsar/reports/20121004_162226/[/url]

結果のリストには各規則が 1 つずつ示され、それぞれの後にその規則が適用されたソース・コード・ファイルと行番号が続きます。

結果カウントは、リストされたすべての規則について、規則が適用された合計回数を示します。

ワークスペース・ファイルには -directory パラメーターを使用しない

製品ワークスペースにあるソース・コード・ファイルに対してコード・レビュー・アプリケーションを実行するときは、-directory パラメーターではなく、常に -projects パラメーターを使用することをお勧めします。

このシナリオでも -directory パラメーターは出力データ・ファイルと出力情報を生成しますが、その一方で次のような望ましくない副次作用を伴います。
  • genericProject_analyzedAsJava_ などの接頭部の付いた一時プロジェクトが、ワークスペースに作成されます。 これらの一時プロジェクトには、実際のプロジェクト・ディレクトリーにあるソース・コード・ファイルへのリンクが含まれます。 これらの一時プロジェクトは削除できます。
  • CSV 分析結果 (CSV Analysis Results) ファイルおよび XML 分析結果 (XML Analysis Result) ファイル内のディレクトリー・パスに、一時プロジェクトの名前が含まれます。


ご利用条件 | フィードバック

このインフォメーション・センターでは Eclipse テクノロジーが採用されています。 (http://www.eclipse.org)