2012-02-01 16 views
1

インラインコードスニペットと他のファイルの内容の混在したコンテンツからファイルを生成したいとします。ような何か:Antを使用したコード生成

<target name="generate-js-function"> 
    <concat destfile="mycode.js"> 
     <header trimleading="yes"> 
      // begin auto generated 
      var create = function() { 
       function createHtmlSnippet1() { 
     </header> 

     <fileset file="snippet1.js"/> 

     <header> 
       } 
     </header> 

     <header trimleading="yes"> 
      // begin auto generated 
      var create = function() { 
       function createHtmlSnippet2() { 
     </header> 

     <fileset file="snippet2.js"/> 

     <header> 
       } 
     </header> 

       return '' + createHtmlSnippet1() + createHtmlSnippet2(); 

      } 
      // end auto generated 
     </header> 
    </concat> 
</target> 

私の知る限りでは、唯一のheader/footerので、それを行うための適切な方法は何ができますか?

更新:問題の何が明確でない場合 - お問い合わせください - 私は喜んで明確ます。

答えて

1

<concat destfile="mycode.js"> 
    <string> 
    // begin auto generated 
    var create = function() { 
      function createHtmlSnippet1() { 
    </string> 

    <fileset file="snippet1.js"/> 

    <string> 
    } 
    </string> 

    ... 

</concat> 

唯一の欠点は、それがtrimleading属性をサポートしていないということですが、それはあなたがあなたのビルドファイル内のコードをインラインで持つことができるようになります。

+0

まだ正規表現フィルタを適用できますか? – BreakPhreak

+0

はい、すべてをフィルタリングする 'filterchain'を追加することも、独自の' filterchain'を持つ 'concat'をネストして個々のファイルをフィルタリングすることもできます。 – matt

1

各インラインJS部分を独自のファイルに書き込み、すべてのファイルを連結します。

echoタスクを使用して、antビルドファイルから動的に一時ファイルに書き込み、スニペットファイルと一時ファイルを連結することができます。あなたがstring resourceを使用することができますインラインスニペット

関連する問題