作爲一個自定義的Ant構建我與我玩弄的一部分,希望有構建Ant任務打印目錄的內容到一個文件
- 上的HTML文檔執行
<replaceregexp>
- 對於正則表達式中的'替換',我想迭代一個.js文件的目錄並注入一個標籤來指向每個文件。
我一直在 http://ant.apache.org/manual/index.html
翻翻螞蟻文檔,但我還沒有看到任何事情來幫助我重複或列出文件。
作爲一個自定義的Ant構建我與我玩弄的一部分,希望有構建Ant任務打印目錄的內容到一個文件
<replaceregexp>
我一直在 http://ant.apache.org/manual/index.html
翻翻螞蟻文檔,但我還沒有看到任何事情來幫助我重複或列出文件。
您可能想首先通過處理包含.js文件的目錄來生成替換文本。
一種方法可能是使用fileset
來收集文件的名稱,然後使用pathconvert
任務來構造html代碼段以使用替換文本。對於目錄「MY_DIR」,例如:
<fileset id="dir.contents" dir="my_dir">
<include name="*.js"/>
</fileset>
<pathconvert pathsep="${line.separator}" property="js.html" refid="dir.contents">
<chainedmapper>
<mapper type="flatten" />
<regexpmapper from="(.*)"
to='<script type="text/javascript" src="http://your.url/\1"></script>' />
</chainedmapper>
</pathconvert>
<echo>${js.html}</echo>
的flatten
刪除該文件路徑的目錄部分,只留下文件名。
回聲然後產生類似:
[echo] <script type="text/javascript" src="http://your.url/a.js"></script>
[echo] <script type="text/javascript" src="http://your.url/b.js"></script>
[echo] <script type="text/javascript" src="http://your.url/c.js"></script>
那麼,你就可以使用${js.html}
爲您的正則表達式替換文本。
replaceregexp任務支持嵌套的文件集元素。從任務文檔
<replaceregexp match="\s+" replace=" " flags="g" byline="true">
<fileset dir="${html.dir}" includes="**/*.html"/>
</replaceregexp>
例在http://ant.apache.org/manual/Tasks/replaceregexp.html
這是你在找什麼?
謝謝!我要試一試,然後回去。 – DrANoel 2011-05-05 13:53:19
完美運作。這是一個巨大的幫助! – DrANoel 2011-05-05 14:51:12