Я собираюсь создать цель Apache Ant, которая сжимает все мои файлы .js с помощью gzip.На данный момент я пришел к следующему:
<target name="compress-js" description="Compressed JS files">
<echo>Compressing JS files...</echo>
<apply executable="gzip" parallel="false">
<arg value="-c" />
<arg value="--best" />
<srcfile />
<arg value=">" />
<targetfile suffix=".${extension}" />
<fileset dir="${js.dir}" includes="**/*.js" />
<mapper type="identity" />
</apply>
<echo>OK!</echo>
</target>
Чтение файлов работает правильно, но сгенерированный целевой файл имеет неправильный путь.
Учитывая, что $ {js.dir}: / var /htdocs / js и я запускаю свою цель ant в каком-то другом каталоге, скрипт выше производит следующую команду оболочки:
gzip -c /var/htdocs/js/a/b/1.js > ./a/b/1.js
, что неверно.Целевой файл должен получить тот же абсолютный путь, что и исходный файл.Я хочу, чтобы он выдал следующую строку:
gzip -c /var/htdocs/js/a/b/1.js > /var/htdocs/js/a/b/1.js
Может кто-нибудь сказать мне, как это сделать?