Подтвердить что ты не робот

Композитор и несколько ветвей

У меня есть проект git с двумя ветвями:

  • Мастер: В настоящее время "стабильная ветвь", но подвергнута изменению. Релизы отмечены оттуда.
  • Devel: ветка разработки для следующей версии. Это сливается с мастером, когда мы считаем, что некоторые функции здесь довольно стабильны.

В master, у меня есть требование в моей composer.json, которая использует определенную версию:

"require" : {
    "triagens/arangodb" : "1.2.1",
    "php" : ">=5.4.0"
},

В моей ветке devel я хотел бы использовать версию развития зависимости:

"require" : {
    "triagens/arangodb" : "dev-devel",
    "php" : ">=5.4.0"
},

Эффективно, когда ветки переключаются, и выполняется composer install или composer update, я хотел бы, чтобы композитор обновлял/изменял зависимости к соответствующим версиям.

Так как composer install --dev не поддерживает другую версию зависимостей в require-dev, я не могу установить другую версию в разделе require-dev.

Я также предпочел бы иметь отдельный composer.json для каждой ветки, поскольку слияние было бы довольно болезненным.

Если у вас несколько ветвей, и каждая ветка использует некоторую версию зависимости, что лучший способ сделать это?

4b9b3361

Ответ 1

Вы можете поддерживать несколько версий composer.json под разными именами:

  • composer.master.json
  • composer.dev.json

Затем, когда вы вызываете composer.phar install или composer.phar update, вы можете предишевать желаемый файл-композитор, который будет использоваться:

  • COMPOSER=composer.master.json php composer.phar update
  • COMPOSER=composer.dev.json php composer.phar update

Смотрите документы CLI.