0

フォルダーにいくつかの RAML ファイルがあり、 raml.orgサイトに掲載されているraml2htmlパッケージを使用して、それらを HTML ドキュメントに "ビルド" する ANT スクリプトをセットアップしています。 私は ANT を初めて使用するので、おそらく最も効率的に使用しているとは言えませんが、それは二次的な問題です。この目標を達成するために 2 つのターゲットを使用します。これらは次のようになります (clean と init は省略しました)。

<!-- Look for the RAML, send them one at a time to post-build -->

<target name="build" depends="clean, init">
    <echo message="searching for raml source in ${src}"/>
    <foreach param="file" target="post-build">
        <fileset dir="${src}">
            <include name="**/*.raml"/>
        </fileset>
    </foreach>      
</target>


<!-- Run raml2html on each of them, saving output in build/ -->
<target name="post-build" depends="">
    <echo>file: ${file}</echo>
    <substring text="${file}" parent-dir="${src}/" property="filename" />
    <echo>filename: ${filename}</echo>
    <echo>build-to: ${build}/${filename}</echo>
    <exec executable="raml2html" failonerror="true">
        <arg value="-i ${file}" />
        <arg value="-o ${build}/${filename}" /> 
    </exec>
</target>   

ANT スクリプトを実行すると$ant build、これら 2 つのターゲットは次のように返します。

build:
     [echo] searching for raml source in /home/ryan/workspace/RAMLValidator/src
  [foreach] The nested fileset element is deprectated, use a nested path instead

post-build:
     [echo] file: /home/ryan/workspace/RAMLValidator/src/sample.raml
     [echo] filename: sample.html
     [echo] build-to: /home/ryan/workspace/RAMLValidator/build/sample.html
     [exec] 2.0.2

端末から実行したときのバージョンは 2.0.2 であるため、私が提供した引数が途中で<exec>raml2html のオプションに変換されたように見えます。ターミナルからこの同じコマンドを明示的に実行すると、期待どおりに正確に HTML が生成されます...どうやってこれを台無しにしましたか?-V$raml2html -V$raml2html -i src/sample.raml -o build/sample.html

4

1 に答える 1