Укажите зависимость вне корня проекта в composer

У меня есть каталог проектов. Каждый из них от git-репо.

Некоторые из этих проектов являются API-интерфейсами REST, и я хочу, чтобы все было указано как зависимость проекта, например:

htdocs
|- restApi1
|- restApi2
|- Vendor
|-Guzzle
|- restApi3

Таким образом, проект 2 зависит от restApi1 и restApi3.
Что я хочу сделать, так это «git checkout», если restApi1 или restApi3 отсутствуют, когда я устанавливаю restApi2 и собираю. Если это уже проверено, по факту composer install или же updateЯ хочу это git pull и перестроить на пользовательскую команду, вот и все.
Поскольку у меня есть эти настройки в качестве проектов, и я могу работать над изменением в двух проектах, если я возьму в качестве зависимости вот так:

htdocs
|- restApi1
|- restApi2
|- Vendor
|- Guzzle
|- restApi1
|- restApi3
|- restApi3

Я должен сделать работу, чтобы перенести мои изменения в репозиторий, работать с новыми URL-адресами, и это нарушает мой рабочий процесс.
Так как я запускаю проекты через http на localhost, я могу проверить любую версию из любой точки мира и обращаться со всем, как с одним большим проектом, где все мои кодовые базы появляются один раз.

Мне интересно, есть ли способ сделать это в композиторе, или это неправильный способ сделать это.
Я также готов переключить свой поток, если есть лучший способ, который противоречит вышеизложенному.
Я подумал написать сценарий для запуска htdocs это пронизывает и тянет все, но я думаю, что указание других проектов в качестве зависимости в файле композитора дает больше информации о том, как наши внутренние проекты используют друг друга.

0

Решение

Вы можете добавить restApi1 и restApi3 к вам composer.json:

"require" : {
...
"myproject/restApi1": "dev-master",
"myproject/restApi3": "dev-master"},
"repositories": {
"myproject/restApi1": {
"url": "https://github.com/myproject/restApi1.git",
"type":"git"},
"myproject/restApi3": {
"url": "https://github.com/myproject/restApi3.git",
"type":"git"},
}

затем composer update каждый раз, когда вы хотите новые обновления.

Другой вариант заключается в использовании подмодули git.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector