Когда я пишу публичную библиотеку, то конечно пишу ее в рамках какого-нибудь своего проекта (подключаю ее в проект), а чтобы мне было легче поддерживать библиотеку, я придерживаюсь следующих моментов.
Подключаю самые последние версии библиотек (версии у которых даже нет тегов версий), для этого в файле composer.json указываю сразу два момента:
1. указываю расположение библиотеки:
"repositories": [
{ "type": "git", "url": "https://github.com/yapro/apiration-bundle.git"},
]2. указываю дев-ветку библиотеки:
"require": {
"yapro/apiration-bundle": "dev-master",
}заметка: можно было бы указывать звездочку, но при звездочке иногда появляется ошибка:
Root composer.json requires yapro/apiration-bundle *, found yapro/apiration-bundle[dev-master] but it does not match your minimum-stabilityЧтобы в случае обнаружения проблемы в библиотеке или доработки фичи в библиотеке, я мог внести исправления в библиотеку не отрываясь от работы над проектом, я в Dockerfile (только при разработке или CI) указываю:
ENV COMPOSER_HOME=/tmp/composer-home
RUN mkdir $COMPOSER_HOME
# Сохраняем конфигурацию глобально в файле: $COMPOSER_HOME/config.json
RUN composer config --global "preferred-install.yapro/*" source
# Check alternative: composer update yapro/* --prefer-source
RUN chmod -R 777 $COMPOSER_HOMEЭто позволят мне внести изменения в библиотеку находящуюся в директории vendor/my/lib, закомитить и запушить, а следом я выполняю команду:
composer update "yapro/*"Не пробовал, но по идее должен работать способ:
{
"config": {
"preferred-install": {
"yapro/apiration-bundle": "source",
"*": "dist"
}
}
}или даже так:
{
"config": {
"preferred-install": {
"yapro/*": "source",
"*": "dist"
}
}
}
Комментарии
Комментариев пока нет.