2013-01-04 49 views
1

是否可以使用通配符來選擇多個文件,而不是使用<file>標籤指定每個文件?在Google Closure編譯器中使用通配符Ant build

目前,我這樣做:

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

回答

2

source for the compiler我相信尋找(沒有測試),它支持一個Ant path作爲它最初支持的filelist的替代方案。 A patch was made添加此。已經嘗試從文件列表更改爲文件集,但問題在於文件集未被排序。

基於補丁提交,你會做這樣的事情。這個例子顯示了正在使用的文件列表和文件集的混合體:

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

看樣子documentation尚未更新以反映此選項的可用性,但它確實說有「的新功能,不時加入,任務的來源可能是最好的文檔。「

+0

你能發佈完整的XML嗎? – theblang

+0

對不起,延遲!我以爲我有,但我從補丁頁中選擇了錯誤的代碼片段 - 只是上面編輯過。通常我會在發佈之前測試一個解決方案,但是我沒有安裝閉包編譯器,因此我無法確認上述是否可行,但我相信它會。 –

+0

爲了確認,我測試了這個,並且Google的Closure Compiler任務中的嵌套' Jesse

相關問題