1

Docbook で使用される Ant ビルド ファイルがあります。次に、その Ant ビルド ファイルを、Xsltproc プロセッサを使用する Makefile に変換します。私は Makefile も Ant も特によく知りません。だから、それを変換するのを手伝ってください。従うべきリソースはありますか?

ここで私がしたいのは、1.フォルダー構造とそのコンテンツを別のフォルダーにコピーする2.Javaシステムプロパティを構成する3.クラスパスを構成する

Antスクリプトでは、次のようなコードがあります。

<copy todir="${output-dir}">
<fileset dir="${ant.file.dir}/template">
<include name="**/*"/>
</fileset>
</copy>

 <java classname="com.nexwave.nquindexer.IndexerMain" fork="true"> 
         <sysproperty key="htmlDir" value="${output-dir}/content"/>
         <sysproperty key="htmlExtension" value="${html.extension}"/>
           <classpath>
        <path refid="classpath"/>
        <pathelement location="${xercesImpl.jar}"/>         
        <pathelement location="/usr/share/xml-commons/lib/xml-apis.jar"/>    
      </classpath>
    </java>

上記の2つのコードをmakeで変換したい。ありがとうございました..!!

4

1 に答える 1

4

Make と ANT はまったく異なるテクノロジーです。最も単純なユースケースを除いて、要件を満たすのは難しいでしょう。

技術的な課題のいくつかを次に示します。

  • ANTはメイクではありません。表面上は同じように見えますが、内部ではまったく異なる働きをします。
  • 驚くべきことに、make はあまりクロスプラットフォームではありません。異なるフレーバーには微妙な違いがあり、ANT から Makefile へのコンバーターを壊す可能性があります。
  • ANT は Java プログラムをサポートするように設計されています。これは、Java クラスパスなどの厄介なものを管理するための豊富な構文を備えていることを意味します。また翻訳が難しい。

アップデート

次の ANT Java タスク

 <java classname="com.nexwave.nquindexer.IndexerMain" fork="true"> 
         <sysproperty key="htmlDir" value="${output-dir}/content"/>
         <sysproperty key="htmlExtension" value="${html.extension}"/>
           <classpath>
        <path refid="classpath"/>
        <pathelement location="${xercesImpl.jar}"/>         
        <pathelement location="/usr/share/xml-commons/lib/xml-apis.jar"/>    
      </classpath>
 </java>

次の UNIX Java コマンドラインに変換できます。

java \
   -DhtmlDir=$PUT_OUTPUT_DIR_HERE \
   -DhtmlExtension=$PUT_EXT_HERE \
   -cp $CLASSPATH:$PATH_TO_XERCES_JAR:/usr/share/xml-commons/lib/xml-apis.jar \
   com.nexwave.nquindexer.IndexerMain
于 2012-05-30T22:27:32.913 に答える