Как создать собственный установщик для произвольного типа композитора

Composer — менеджер пакетов PHP. Я просмотрел документацию здесь: http://getcomposer.org/

Я хочу создать собственный тип «symfony2-assets» и установить их в каталог «web», а не в каталог «vendor».

Я знаю, что могу изменить ключ конфигурации «vendor-dir» на web, чтобы выполнить это, но это также устанавливает все остальные пакеты, и мне нужны те, которые находятся в каталоге поставщика.

Если у кого-то есть хороший учебник, с которым они столкнулись, или знает, как это сделать, я был бы очень признателен.


person chasen    schedule 22.03.2012    source источник


Ответы (2)


Вы можете создать пакет с типом composer-installer и использовать его в своем приложении. Теоретически пакеты того типа, который вы хотите обрабатывать (symfony2-asset2), должны требовать от установщика, чтобы убедиться, что он установлен в первую очередь.

Ваш установщик может просто наследоваться от LibraryInstaller и помещать файлы туда, куда вы хотите.

Это должно работать на данный момент, но в долгосрочной перспективе, я надеюсь, мы сможем найти несколько общий способ обработки веб-ресурсов в Composer. Тем не менее, пока что наше основное внимание по-прежнему сосредоточено на PHP-коде.

person Seldaek    schedule 27.03.2012
comment
не то, что я надеялся найти, но отвечает на вопрос, спасибо. - person chasen; 30.03.2012

Вы можете добавить скрипт post-install-cmd, который будет копировать/создавать символическую ссылку на веб-каталог.

person Mun Mun Das    schedule 22.03.2012
comment
не совсем то, что я ищу. в композиторе есть LibraryInstaller.php, который обрабатывает установку всех пакетов с типом библиотеки, мне интересно, как я могу создать новый из них и как я скажу композитору использовать это. github.com/composer/composer/blob/master/ источник/Композитор/Установщик/ - person chasen; 23.03.2012