3

Ant スクリプトを使用して、.composites の数に基づいていくつかのプロジェクトを構築したいと考えています。build.xml ファイルにすべての taskref タグ、lib パスをすべて追加しました。私は同じものに対して次のコードを書きましたが、 foreach はネストされた「antcall」要素をサポートしていませんというエラーが発生しています。

<target name="createApplicationDAA">
<foreach param="program">
    <path>
        <fileset dir="${soaProjectName}/Composites" includes="**/*.composite"/>
    </path>
    <antcall target="createDAA"/>
</foreach>
</target>
<target name="createDAA">
..........
....
</target>

明らかに、私の要件は、ant スクリプトで foreach または for ループを使用してすべてのコンポジットを構築することにより、すべての DAA を作成することです。誰でも私に知らせてもらえますか、どこが間違っていますか?

4

1 に答える 1

4

foreachネストされた要素を使用して何を実行するかを決定するのではなく、target属性を取ります。

<target name="createApplicationDAA">
  <foreach param="program" target="createDAA">
    <path>
      <fileset dir="${soaProjectName}/Composites" includes="**/*.composite"/>
    </path>
  </foreach>
</target>
<target name="createDAA">
  <echo>${program}</echo>
</target>

または、<for>ネストされた<sequential>

<target name="createApplicationDAA">
  <for param="program">
    <path>
      <fileset dir="${soaProjectName}/Composites" includes="**/*.composite"/>
    </path>
    <sequential>
      <echo>@{program}</echo>
    </sequential>
  </for>
</target>
于 2013-05-20T12:19:29.700 に答える