2009-09-27 2 views
2

Возможно ли использовать Ivy или какой-либо другой инструмент управления зависимостями, если ваши зависимости - это каталоги вместо файлов?Использовать Ivy для управления каталогами вместо файлов jar?

Я создаю веб-сайт PHP, поэтому мои общие «библиотеки» не являются файлами jar или любым другим форматом архива. Я знаю файлы .phar в PHP 5.3, но я бы предпочел, чтобы они были каталогами, поэтому веб-сервер может напрямую обслуживать их содержимое.

ответ

2

Вы не можете зависеть от каталога, но вы можете упаковать свои зависимости в виде почтового индекса, а затем сообщить Ivy, чтобы распаковать их при загрузке. Это означает, что когда ваше приложение будет создано, они будут доступны локально на веб-сервере.

packager предоставляет дополнительный атрибут dest, который можно указать для распаковки архива в подпапку. Следующая конфигурация должна распаковать зависимость от sub/dir:

<property name="zipname" value="${name}-${version}"/> 

<resource dest="sub/dir" url="http://testng.org/${zipname}.zip" 
    sha1="2ea19275dc17453306f8bb780fe6ef6e9af7756b"> 
    <url href="http://mirror.example.com/archives/${zipname}.zip"/> 
    <include name="${zipname}/src/main/**/*"/> 
    <include name="${zipname}/src/jdk15/**/*"/> 
    <include name="${zipname}/javadocs/**/*"/> 
    <include name="${zipname}/*.jar"/> 
</resource>