Как уже писалось ранее, есть такая штука как Phing.
Бывает, что проекту для работы требуется сторонние файлы.
В моем случае это сторонняя база данных. Весит она много и распространять ее с проектом нет особого смысла, т.к. данные меняются от релиза к релизу.
Но есть Phing!
Принесем ему зависимости:
Собственно таск:
Можно было сделать таск с wget-ом или curl-ом, но я спотыкался об отсутсвие того и другого в production-окружении, куда я не имею root-доступа.
В моем случае это сторонняя база данных. Весит она много и распространять ее с проектом нет особого смысла, т.к. данные меняются от релиза к релизу.
Но есть Phing!
Принесем ему зависимости:
composer global require pear/http_request2: dev-masterНа момент публикации нужна именно master-ветка, т.к. Phing споткнется об Pear.
Собственно таск:
<target name="getSde" desription="Download EVE SDE"> <httpget url="https://www.fuzzwork.co.uk/dump/latest/eve.db.bz2" dir="${src}/data" sslverifypeer="false"> <if> <os family="unix"> <then> <echo>Exec bzip2 -dfsv ${src}/data/eve.db.bz2</echo> <exec executable="bzip2" passthru="true" checkreturn="true"> <arg value="-dfvs"> <arg value="${src}/data/eve.db.bz2"> </arg></arg></exec> </then> <else> <echo level="error">Extract base ${src}/data/eve.db.bz2 in directory ${src}/data!</echo> </else> </os></if> </httpget> </target>Данный таск скачивает базу своими средствами и распаковывает ее средствами ОС.
Можно было сделать таск с wget-ом или curl-ом, но я спотыкался об отсутсвие того и другого в production-окружении, куда я не имею root-доступа.