使用Ant生成代码

使用Ant生成代码,ant,code-generation,Ant,Code Generation,我想从内联代码片段的混合内容和其他文件的内容生成一个文件。比如: <target name="generate-js-function"> <concat destfile="mycode.js"> <header trimleading="yes"> // begin auto generated var create = function() { fun

我想从内联代码片段的混合内容和其他文件的内容生成一个文件。比如:

<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>

//开始自动生成
var create=function(){
函数createHtmlSnippet1(){
}
//开始自动生成
var create=function(){
函数createHtmlSnippet2(){
}
返回“”+createHtmlSnippet1()+createHtmlSnippet2();
}
//结束自动生成
好的,只有一个
页眉
/
页脚
,那么正确的方法是什么呢


更新:如果问题中有什么不清楚的-请提问-我会很高兴地澄清。

将每个内联JS部分写入自己的文件中,并将所有文件合并


您可以使用该任务从ant构建文件动态写入临时文件,然后连接代码段文件和临时文件。

对于内联代码段,您可以使用:


//开始自动生成
var create=function(){
函数createHtmlSnippet1(){
}
...

唯一的缺点是它不支持
trimleading
属性,但它允许您将代码内联到构建文件中。

我仍然可以应用正则表达式过滤器吗?是的,您可以添加
filterchain
来过滤整个内容,或者您可以使用嵌套的
concat
来过滤单个文件,这些文件具有拥有
filterchain
s。
<concat destfile="mycode.js">
  <string>
    // begin auto generated
    var create = function() {
            function createHtmlSnippet1() {
  </string>

  <fileset file="snippet1.js"/>

  <string>
    }
  </string>

  ...

</concat>