Ant タスクからの呼び出しスタブ・ジェネレーターの起動

COBOL 呼び出しスタブ・ジェネレーターを Ant タスクから実行できます。

始める前に

COBOL 呼び出しスタブ・ジェネレーターによって生成されるコード用に、Rational® Application Developer プロジェクトを作成します。

呼び出しスタブ・ジェネレーター構成ファイルを作成します。必須プロパティー EclipseHome、WorkSpace、および EclipseProjectName の設定値が正しいことを確認します。

COBOL ソース・ファイルの PROCEDURE ステートメントを確認します。

このタスクについて

COBOL 呼び出しスタブ・ジェネレーターを Ant タスクから実行するには、<csg> タスクを作成して、呼び出しスタブ・ジェネレーター構成ファイルと、呼び出しスタブ・ジェネレーターのソースとして使用される COBOL ソース・ファイルを特定する必須属性の値を指定する必要があります。そのタスク内ではオプション属性の値も指定できます。表 1 に、<csg> タスク内で使用できる、サポートされる <csg>、<cobolModule>、および <dataElement> の属性と、ネストされるエレメントを示します。

<csg> の属性およびネストされるエレメントの一部では、呼び出しスタブ・ジェネレーターの内部プロパティーを置換変数として指定できます。例えば、次のように、<callStubPackage> エレメントに COBOL PROGRAM-ID を指定できます。
<callStubPackage>com.ibm.cobol.$_ProgramId_$</callStubPackage>
実行時に、$_ProgramId_$ 変数は COBOL PROGRAM-ID に置換されます。入力 <fileset> または <filelist> によって複数の COBOL ファイルが指定されている場合、呼び出しスタブ・ジェネレーターが入力ファイル・リストを繰り返し処理するにつれて、$_ProgramId_$ が各 COBOL ファイルの PROGRAM-ID に置換されます。
表 1. COBOL 呼び出しスタブ・ジェネレーターを実行するための <csg> の属性およびエレメント. 必須の属性およびエレメントの値を <csg> タスク内に指定する必要があります。オプションの属性およびエレメントの多くには、デフォルト値があります。
名前 デフォルト値 必須またはオプション 説明
<csg> の属性およびネストされるエレメント
configFile   必須 呼び出しスタブ・ジェネレーター構成ファイルの完全修飾パスを指定します。
workSpace   オプション Java™ データ・バインディング・クラスの作成に使用する、Rational Application Developer ワークスペースまたは Eclipse ワークスペースのルート・ディレクトリーの完全修飾パスを指定します。

workSpace に指定した値は、configFile 値によって識別される呼び出しスタブ・ジェネレーター構成ファイル内の WorkSpace 値よりも優先されます。

eclipseProjectName   オプション 生成される Java クラスのホームを提供する Rational Application Developer ワークスペースまたは Eclipse ワークスペース内のプロジェクトの名前を指定します。

このプロジェクトは、呼び出しスタブ・ジェネレーターを実行する前に存在していなければなりません。

eclipseProjectName に指定した値は、configFile 値によって識別される呼び出しスタブ・ジェネレーター構成ファイル内の EclipseProjectName 値よりも優先されます。

antBuildFile ${workSpace}/${eclipseProjectName}/src/GenAllBindings.xml オプション <csg> タスクによって生成されるデータ・バインダー Ant ビルド・ファイルの出力ロケーションを指定します。
<fileset>、<filelist>   必須 呼び出しスタブ・ジェネレーターへの入力を提供する 1 つ以上の COBOL ソース・ファイルを指定します。複数の <fileset> タイプおよび <filelist> タイプを指定できます。<cobolModule> エレメントの外部に指定された <fileset> タイプおよび <filelist> タイプは、COBOL PROGRAM-ID を COBOL モジュール名として使用します。
<cobolModule>   オプション <cobolModule> エレメント内にネストされたすべての <fileset> ファイルおよび <filelist> ファイルと関連付けられた、COBOL モジュールまたは DLL ファイルの名前を指定します。複数の <cobolModule> エレメントを指定できます。
<callStubPackage>   必須 生成される呼び出しスタブに使用する、パッケージ名および生成されるファイルのファイル・パスを指定します。

このエレメントでは、呼び出しスタブ・ジェネレーター内部プロパティーを置換変数で指定できます ($_ProgramId_$ で COBOL PROGRAM-ID を、または $_CobolModule_$ で COBOL モジュールを指定できます)。

例: <callStubPackage>com.ibm.cobol.$_ProgramId_$</callStubPackage>

実行時に、$_ProgramId_$ 変数は COBOL PROGRAM-ID に置換されます。

<callStubClass> COBOL プログラム PROGRAM-ID オプション 生成される呼び出しスタブ用に使用するクラス名を指定します。

このエレメントでは、呼び出しスタブ・ジェネレーター内部プロパティーを置換変数で指定できます ($_ProgramId_$ で COBOL PROGRAM-ID を、または $_CobolModule_$ で COBOL モジュールを指定できます)。

<build> Unknown Build オプション ユーザーが割り当てるビルド ID を指定します。
<mockPackage>   オプション モック・クラスのパッケージの名前を指定します。
<mockClass>   オプション モック・テスト・ハーネス用に使用するクラスの名前を指定します。
<dataElementsPackage> {callStubPackage}.parameters オプション 1 つ以上の COBOL パラメーターと戻り値のデータ・バインディング・クラスに使用するパッケージ名を指定します。

このエレメントでは、呼び出しスタブ・ジェネレーター内部プロパティーを置換変数で指定できます ($_DataElementName_$ で COBOL パラメーター名を、$_ProgramId_$ で COBOL PROGRAM-ID を、$_CobolModule_$ で COBOL モジュールを指定できます)。

<dataElementsClass> パラメーター名 オプション 1 つ以上の COBOL パラメーターと戻り値のデータ・バインディング・クラスに使用するクラス名を指定します。

このエレメントでは、呼び出しスタブ・ジェネレーター内部プロパティーを置換変数で指定できます ($_DataElementName_$ で COBOL パラメーター名を、$_ProgramId_$ で COBOL PROGRAM-ID を、$_CobolModule_$ で COBOL モジュールを指定できます)。

例えば、COBOL パラメーターおよび戻り値のクラス名の前に PROGRAM-ID を付加するには、以下のようにします: <dataElementsClass>$_ProgramId_$_$_DataElementName_$</dataElementsClass>

実行時に、$_ProgramId_$ 変数は COBOL PROGRAM-ID に置換され、$_DataElementName_$ 変数は COBOL パラメーターの名前または戻り値に置換されます。COBOL プログラムに複数のパラメーターがある場合、呼び出しスタブ・ジェネレーターがそれらのパラメーターを繰り返し処理するにつれて、$_DataElementName_$ が各 COBOL パラメーターの名前に置換されます。

<dataElement>   オプション COBOL パラメーターまたは戻り値のパッケージ名およびクラス名を指定します。パラメーターは name 属性および programId 属性を使用して識別されます。パッケージ名とクラス名は、packageName 属性および className 属性を使用して指定します。複数の <dataElement> エレメントを指定できます。
<cobolModule> の属性およびネストされるエレメント
libname COBOL プログラム PROGRAM-ID オプション 1 つ以上の COBOL プログラムを含む COBOL モジュールまたは DLL ファイルの名前を指定します。
<fileset>、<filelist>   必須 呼び出しスタブ・ジェネレーターへの入力を提供する 1 つ以上の COBOL ソース・ファイルを指定します。各 COBOL ファイルは、libname で定義される COBOL モジュールと関連付けられます。
<dataElement> 属性
name   必須 COBOL PROCEDURE パラメーターの名前を指定します。
programId   必須 このパラメーターを含む COBOL プログラムの PROGRAM-ID を指定します。
packageName ${callStubPackage}.parameters オプション この COBOL パラメーターまたは戻り値のデータ・バインディング・クラスに使用するパッケージ名を指定します。

この属性では、呼び出しスタブ・ジェネレーター内部プロパティーを置換変数で指定できます ($_DataElementName_$ で COBOL パラメーター名を、$_ProgramId_$ で COBOL PROGRAM-ID を、$_CobolModule_$ で COBOL モジュールを指定できます)。

className パラメーター名 オプション この特定の COBOL パラメーターまたは戻り値のデータ・バインディング・クラスに使用するクラス名を指定します。

この属性では、呼び出しスタブ・ジェネレーター内部プロパティーを置換変数で指定できます ($_DataElementName_$ で COBOL パラメーター名を、$_ProgramId_$ で COBOL PROGRAM-ID を、$_CobolModule_$ で COBOL モジュールを指定できます)。

手順

  1. 呼び出しスタブ・ジェネレーターを実行するための Ant <csg> タスクを定義します。

    呼び出しスタブ・ジェネレーターでは、サンプル Ant ビルド・ファイル CSG.xml が提供されているため、それを変更して使用できます。呼び出しスタブ・ジェネレーター CSG.xml ファイルについてのトピックを参照してください。

  2. Ant ビルド・ファイルを使用して、呼び出しスタブ・ジェネレーターを実行します。

    Ant ビルド・ファイルは、データ・バインダーを開始し、1 つ以上の COBOL パラメーターと 1 つの戻り値用のデータ・バインディング・クラスを生成します。データ・バインダー Ant ビルド・ファイルは、<ant> タスクを使用して最後の行で実行されます。

    以下のコードは、<csg> タスクを使用して、呼び出しスタブ・ジェネレーターを実行します。

    <!-- Declare the <csg> task -->
    <taskdef resource="com/ibm/ws/batch/cobol/ant/callstub/antlib.xml"
             classpath="${csgDir}/lib/COBOLCallStubGenerator.jar"/> 
    
    <csg configFile="${csgDir}/csg.properties" antBuildFile="${antBuildFile}" >
    
      <!-- Input can be a <fileset> or <filelist>. In this example, it is a single file fileset. -->
    <fileset file="${cobolSource}" /> 
    
    <!-- Specify the package for the generated Java call stub class. 
         The parameter classes are generated under ${callStubPackage}.parameters. -->
      <callStubPackage>${callStubPackage}</callStubPackage>
      
    </csg>
    
    <!-- Run the data binder Ant build file that is generated by the <csg> task. -->
    <ant antfile="${antBuildFile}" />

    この例では、1 つの <fileset> タイプを使用して単一の入力 COBOL ソース・ファイルが指定されています。<csg> への入力として使用される COBOL ソース・ファイルは、1 つ以上の <fileset> タイプまたは <filelist> タイプを使用して指定されます。ネストされた <callStubPackage> エレメントは必須です。これは、Java 呼び出しスタブに使用するパッケージを指定します。データ・バインディング・クラスは、デフォルトで ${callStubPackage}.parameters パッケージの下に生成されます。

    以下の例は、<csg> タスクの完全な記述を示しています。

    <taskdef resource="com/ibm/ws/batch/cobol/ant/callstub/antlib.xml"
             classpath="${csgDir}/lib/COBOLCallStubGenerator.jar"/> 
    
    <csg configFile="#REQUIRED"
         workSpace="#OPTIONAL:overrides value in configFile"
         eclipseProjectName="#OPTIONAL:overrides value in configFile"
         antBuildFile="#OPTIONAL:default=${workSpace}/${eclipseProjectName}/src/GenAllBindings.xml" >
    
      <fileset />
    <filelist />
    
    <cobolModule #OPTIONAL libname="#OPTIONAL:default=${ProgramId}">
      <fileset />
      <filelist />
    </cobolModule>
    
      <callStubPackage>#REQUIRED</callStubPackage>
    <callStubClass>#OPTIONAL:default=${ProgramId}</callStubClass>
    
    <build>#OPTIONAL:default=”Unknown Build”</build>
    <mockPackage>#OPTIONAL</mockPackage>
    <mockClass>#OPTIONAL</mockClass>
    
      <dataElementsPackage>#OPTIONAL:default=${callStubPackage}.parameters</dataElementsPackage>
      <dataElementsClass>#OPTIONAL:default=${dataElementName}</dataElementsClass>
    
      <dataElement #OPTIONAL
                   name="#REQUIRED" 
                   programId="#REQUIRED" 
                   packageName="#OPTIONAL:default=${callStubPackage}.parameters" 
                   className="#OPTIONAL:default=${dataElementName}" />
    </csg>
    ベスト・プラクティス ベスト・プラクティス: <csg> タスクおよびデータ・バインダー Ant ビルド・ファイルは、実行時に、一部の Eclipse クラス (Java EE コネクター (J2C) ツールを含む) に依存します。すべての前提条件を取得するには、Ant ビルドとして、<csg> タスクを Rational Application Developer 内で実行してください。また、CSG.xml を使用して、Rational Application Developer 内で呼び出しスタブ・ジェネレーターを実行することもできます。グラフィカル・インターフェースを使用した呼び出しスタブ・ジェネレーターの起動についてのトピックを参照してください。bprac

タスクの結果

このコマンドは呼び出しスタブ・ジェネレーターを実行します。コマンドが成功した場合、呼び出しスタブ・ジェネレーターは、COBOL プログラムを実行するための Java 呼び出しスタブを作成します。

次のタスク

生成された Java 呼び出しスタブを使用して、COBOL プログラムを実行します。


トピックのタイプを示すアイコン タスク・トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tgrid_cobol_csg_ant
ファイル名:tgrid_cobol_csg_ant.html