IRX ファイルのテンプレートと設定

構成ファイルを準備するときは、次のテンプレートを使用します。

<Configuration attributes="true/false">
    <Targets>
        <Target outputs-only="true/false" path="scan_target_path">
            <CustomBuildInfo build_info="info"/>
            <Include>string_pattern</Include>
            <Exclude>string_pattern</Exclude>
        </Target>
    </Targets>
</Configuration>
テンプレート内で、以下を処理するために IRX ファイルをさらにカスタマイズできます。
  • 構成属性
  • スキャン・ターゲット
  • カスタム・ビルド情報
  • ストリングの包含と除外

IRX ファイルの構成属性

オプションの構成属性を使用して、サード・パーティーおよびオープン・ソースのスキャンを指定します。
属性 説明 Default (デフォルト)
thirdParty="<true or false>" サード・パーティー・アーティファクトのスキャンを有効にします。 false
openSourceOnly="<true or false>" セキュリティー・スキャンを無効にして、オープン・ソース分析のみを実行します false
staticAnalysisOnly="<true or false>" オープン・ソース・スキャンを無効にして、静的分析のみを実行します。 false
sourceCodeOnly="<true or false>" ソース・ファイルのみをスキャンし、次のようなサポートされている他のファイル・タイプは無視します。.NET (.dll.exe.sln)、C (.sln)。 false

IRX ファイルの <Target> エレメント属性

Targets エレメントを使用して、IRX ファイルの生成中にスキャンするターゲットを指示できます。

属性 説明
outputs-only ディレクトリーをスキャンし、コマンド行ユーティリティーを実行してビルド出力ファイル (.jar.war.class ファイルなど) のみを検出する場合に使用します。 デフォルトでは、この属性は false に設定されます。これは、コマンド行ユーティリティーがディレクトリーを検索して対象がターゲット (アプリケーション・サーバーや Eclipse ワークスペースなど) かどうか、またはディレクトリーにビルド・スクリプト、Maven .pom ファイル、make ファイルなどのアイテムが含まれているかを判断することを意味します。

スキャン・ターゲットが単純なディレクトリーとして扱われるようにして、出力ファイルのみを見つけるようにしたい場合、Target エレメントに outputs-only="true" を指定します。

<Target outputs-only="false" path="C:\Tomcat"> を指定すると、コマンド行ユーティリティーはターゲットが Tomcat アプリケーション・サーバーであると想定し、デプロイされたその .war ファイルを検索します。

しかし、<Target outputs-only="true" path="C:\Tomcat"> を指定すると、コマンド行ユーティリティーはその場所をディレクトリーとして処理し、その中にあるビルド出力ファイルをすべて検出します。

path スキャン・ターゲットへのパスまたはスキャン・ターゲットのディレクトリー (<scan_target_path>) を指定します。 ディレクトリーが指定されると、そのサブディレクトリーもすべてスキャンに含まれます。

<Target outputs-only="false" path="C:\WebSphere\AppServer85\profiles\AppSrv01"> と指定すると、コマンド行ユーティリティーは AppSrv01 プロファイル内のデプロイされているすべての .ear ファイルを検出します。

<Target outputs-only="false" path="C:\WebSphere\AppServer85"> と指定すると、コマンド行ユーティリティーはすべてのプロファイル内のデプロイされているすべての .ear ファイルを検出します。

IRX ファイルの <Target> サブエレメント

以下の 3 つのオプションの <Target> サブエレメントがあります。
  • CustomBuildInfo

    ターゲット言語に応じたビルド情報を指定します。一部の言語では、2 つ以上の属性を設定できます。例えば、ターゲット言語に応じて、 <CustomBuildInfo build_info_1="info_1" build_info_2="info_2" build_info_3="info_3"/> を設定できます。

    CustomBuildInfo の使用に関する追加情報については、以下の表を参照してください。

  • Include
    IRX ファイルの生成時に包含するファイル・パターン (<string_pattern>) を指定します。「ターゲットの包含と除外の動作」セクションで示しているように、Include の動作はターゲットのタイプによって異なります。複数の include パターンを指定するには、<Include></Include> タグに各パターンを追加します。例えば、次のようになります。
    <Include>string_pattern_1</Include>
    <Include>string_pattern_2</Include>
    注: 競合する include パターンと exclude パターンを指定した場合、exclude パターンが優先されます。
  • Exclude

    IRX ファイルの生成時に除外するファイル・パターンを指定します。「ターゲットの包含と除外の動作」セクションで示しているように、Exclude の動作はターゲットのタイプによって異なります。複数の exclude パターンを指定するには、<Exclude></Exclude> タグに各パターンを追加します。

1. <CustomBuildInfo> 属性
Language (言語) 構文 属性 説明 注記/例
Java <CustomBuildInfo additional_classpath="dependency_path" jdk_path="JDK_path" jsp_compiler="JSP_compiler_path" package_includes="namespaces" package_excludes="namespaces"/> additional_classpath 追加のクラス・パスを指定します Windows では、複数のクラス・パスはセミコロンで区切ります。Linux では、複数のクラス・パスはコロンで区切ります。
jdk_path JDK がインストールされた場所へのパス
jdk_compiler JSP コンパイラーへのパス
jsp_compiler="C:\Tomcat"
jsp_compiler="C:\Program Files (x86)\IBM\WebSphere\AppServer"
jsp_compiler="C:\Oracle"
package_includes 既存のサード・パーティーの除外をオーバーライドし、指定された名前空間のクラスのみをスキャンします。 名前空間リストを区切る場合は、セミコロンを使用します。例:
package_includes="com.hcl.example;com.hcl.sample"
package_excludes 指定された名前空間をサード・パーティーの除外の既存のリストに追加します。 名前空間リストを区切る場合は、セミコロンを使用します。
irx_minor_cache_home Java 並列処理キャッシュの場所を設定します。 値は、キャッシュに使用される場所を指している必要があります。例:
<CustomBuildInfo irx_minor_cache_home="X:/mycache"/>
JSP (提供された Tomcat 下) <CustomBuildInfo jsp_compiler_args="-ARGUMENTS"/> jsp_compiler_args JSP コンパイラーのコマンド行引数を指定して、JSP コンパイラーを設定またはオーバーライドします
.NET (Windows のみ) <CustomBuildInfo references="assembly_references" configuration="build_configuration"/> references アセンブリー参照を追加します 複数の reference はセミコロンで区切ります。
configuration Visual Studio ソリューション・ディスカバリーのビルド構成を組み込みます
package_includes 既存のサード・パーティーの除外をオーバーライドし、指定された名前空間のクラスのみをスキャンします 名前空間リストを区切る場合は、セミコロンを使用します。例:
package_includes="com.hcl.example;com.hcl.sample"
package_excludes 指定された名前空間をサード・パーティーの除外の既存のリストに追加します。 名前空間リストを区切る場合は、セミコロンを使用します。
C/C++ (Windows のみ) <CustomBuildInfo configuration="build_configuration" include_paths="include_directories" macros="macros" compiler_opts=/> configuration ビルド構成を組み込みます
include_paths インクルード・パスを指定します 複数のインクルード・パスはセミコロンで区切ります。
macros マクロを組み込みます 複数のマクロはセミコロンで区切ります。
compiler_ops コンパイラー・オプションを指定します 複数のオプションはセミコロンで区切ります。
注: これらの属性によって設定される値は、サブターゲットに引き継がれます。例えば、WAR サブターゲットと JAR サブターゲットを含む EAR ファイルがターゲットの場合、WARJAR はこれらの属性を使用する EAR ファイルに設定されたものと同じ値を持つものと想定されます。