在Google Closure Compiler Ant构建中使用通配符

时间:2013-01-04 20:20:12

标签: ant google-closure-compiler

是否可以使用通配符选择多个文件,而不是使用<file>标记指定每个文件?

目前我这样做:

<jscomp compilationLevel="simple" debug="false" output="build.js">
    <sources dir="${basedir}/source">
        <file name="foo.js" />
        <file name="bar.js" />
    </sources>
</jscomp>

我尝试使用<fileset>,但<sources>不支持:

<jscomp compilationLevel="simple" debug="false" output="build.js">
    <sources dir="${basedir}">
        <fileset dir="source">
            <include name="**/*.js" />
        </fileset>
    </sources>
</jscomp>

1 个答案:

答案 0 :(得分:2)

查看source for the compiler我认为(未经过测试)它支持Ant path作为其最初支持的filelist的替代方案。添加此patch was made documentation。有人试图从文件列表更改为文件集,但问题是文件集没有排序。

根据补丁提交,你会做这样的事情。此示例显示了文件列表和正在使用的文件集的混合:

<path id="ui.js.fileset">
    <fileset dir="source">
        <include name="**/*.js" />
    </fileset>
</path>

<path id="app.js.fileset">
    <filelist dir="${js.dir}/app/">
        <file name="app.core.js"/>
        <file name="app.foo.js"/>
    </filelist>
    <path refid="ui.js.fileset" />
</path>

<jscomp compilationLevel="simple" debug="false" output="build.js">
    <path refid="app.js.fileset" />
</jscomp>

{{3}}似乎尚未更新以反映此选项的可用性,但它确实说“偶尔会添加新功能,任务的来源可能是最佳文档。 “