1
壓縮迭代文件結構我有一個目錄結構如下所示:在Phing與的YUICompressor
-css
---subdir1
------common.css
---subdir2
------common.css
------custom.css
---subdir3
------common.css
------styles.css
我想環路Phing每個目錄,隨後的每個文件再壓縮到內的每個單一的哈希文件名目錄使用YUI壓縮機。其結果將是這個樣子:
-css
---subdir1
------1973a613f7c87b03dbe589e6935a09bd.min.css
---subdir2
------1973a613f7c87b03dbe589e6935a09bd.min.css
---subdir3
------1973a613f7c87b03dbe589e6935a09bd.min.css
因此,我需要知道每一個我,所以我能輸出我的精縮腳本它內部的目錄。
這些是我的兩個目標:
<target name="minify">
<echo msg="Minifying CSS and JS files with YUI at ${yuicompressor}" />
<foreach param="filename" absparam="absfilename" target="runyui">
<fileset dir="${publicdir}/css">
<include name="*.css" />
<include name="**/*.css" />
</fileset>
</foreach>
</target>
<target name="runyui">
<filehash file="${abspathtopwd}" hashtype="MD5" propertyname="filehash" />
<echo msg="java -jar ${yuicompressor} -v --line-break 5000 --type css ${absfilename} >> ${abspathtopwd}/${filehash}.min.css" />
<exec command="java -jar ${yuicompressor} -v --line-break 5000 --type css ${absfilename} >> ${abspathtopwd}/${filehash}.min.css" />
</target>
其中:
- 的YUICompressor是YUI的壓縮機罐子路徑
- publicdir僅僅是我的應用程序的絕對路徑公共目錄
- abspathtopwd是我希望與Phing當前的foreach循環(如果你喜歡或PWD)使用「當前迭代的目錄」
我怎樣才能得到當前工作目錄的屬性?我所能看到的我所能訪問的是文件本身的相對路徑和絕對路徑。
注意:我知道這個當前的解決方案會爲每個輸入文件創建一個新文件,但這正是我想要用abspathtopwd修復的。
謝謝!