Доброго времени суток, %username%!
Имеется phing крайней версии из
официального репозитория, php 5.5.32, всё под windows.
Стоит задача - удалить все комментарии из php-файлов проекта и пустые переносы строк. Эдакая минификация для того, чтоб передав превью исходников системы заказчику удобочитаемость кода была несколько затруднена, но функционал системы при этом не пострадал.
Так как для сборки проекта используется phing, то логичнее всего было бы ему такую задачу и поставить, благо необходимый функционал
у него имеется из коробки.
Но при попытке добавить в
build.xml
конструкцию вида:
<target name="protect_php">
<echo>Protect PHP files</echo>
<reflexive>
<fileset dir="${build_dir}">
<include name="**/*.php" />
</fileset>
<filterchain>
<tabtospaces tablength="2" />
<stripwhitespace />
<stripphpcomments />
</filterchain>
</reflexive>
</target>
Получаем вывод в консоли:
project > protect_php:
[echo] Protect PHP files
[reflexive] Applying reflexive processing to 47 files.
В директории с проектом действительно 47 *.php файлов, но "обрабатываются" (
удаляются комментарии и переносы строк) лишь у тех, что расположены в директории одним уровнем ниже корневой директории с проектом, т.е.
./%ЗДЕСЬ_НЕ_ОБРАБАТЫВАЮТСЯ%/%ЗДЕСЬ_ОБРАБАТЫВАЮТСЯ%/%ЗДЕСЬ_НЕ_ОБРАБАТЫВАЮТСЯ%
Чертовщина, т.к.
**/*.php
подразумевает под собой все *.php файлы любой вложенности.
Более того, при выполнении данного таргета остальные не обрабатываются - работа останавливается, причем никаких ошибок в консоли не отображается.
Комрады, подскажите пожалуйста - что я делаю не так, и как решить поставленную задачку?