使用Ant生成代码

时间:2012-02-01 10:08:55

标签: ant code-generation

我想从内联代码片段和其他文件内容的混合内容生成文件。类似的东西:

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

AFAIK,只能有一个header / footer,那么正确的做法是什么?

更新:如果问题中的任何内容不明确 - 请询问 - 我会愉快地澄清。

2 个答案:

答案 0 :(得分:1)

将每个内联JS部分写入自己的文件,并连接所有文件。

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

答案 1 :(得分:1)

对于内嵌代码段,您可以使用string resource

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

  <fileset file="snippet1.js"/>

  <string>
    }
  </string>

  ...

</concat>

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