EDIT: То, что я пытался достичь здесь, может быть сделано проектом Yeoman.Проекты начальной сборки с: частными git repos, Composer и Satis
Так я создал мерзавца + композитор + Satis на частном сервере, все работает отлично, я действительно в восторге от этого. Полюбила их всех.
Я использую Git для проектов, так и для частных пакетов, так что теперь основной рабочий процесс выглядит следующим образом:
git clone [email protected]:the-project-name
composer install
Это будет клонировать репозиторий проекта, и установить необходимую зависимость. Фантастика.
Но я также хочу использовать некоторые «скелеты-репозитории» и просто копировать их содержимое в свой проект, сохраняя информацию о зависимости.
Возьмем такой пример:
- создать GIT репозиторий под названием: тест-проект, а затем клонировать его на месте.
- У меня есть еще один git repo, называемый fb-bootstrap, который является скелетом для приложений facebook.
- У меня также есть другой загрузочный скелет git repo, который я также хочу включить: например, это будет api/folder. Назовем это: api-bootstrap
- Так что я хочу также клонировать их, но, конечно, я не могу этого сделать, потому что у меня уже есть git repo в том же каталоге.
- Возможное решение: я использую следующий код, поэтому я получаю только файлы: 'git archive --format = tar --remote = git @ myserver: the-bootstrap-repos HEAD | деготь XF -»
Это прекрасно, НО имеет проблему: У меня есть различная зависимость - Различные composer.json файлы. - для fb-bootstrap и api-bootstrap repos, поэтому мне нужно найти способ установить их все.
Обратите внимание, что для этого я не использую композитор, так как я не могу помещать что-либо в папку поставщика/папку, отличную от автозагружаемых php-классов, поскольку доступ ограничен этой папкой.
Поднятие этого ограничения также не решит проблему, потому что, если я добавлю зависимость позже, и я вызываю composer update
, я могу потерять изменения, внесенные в папки начальной загрузки.
Подмодули и взломанные файлы с единственными экземплярами не совсем сокращают его из-за вышеупомянутых причин.
Резюме:
Мне нужно решение, где я могу включать в себя как можно больше самозагрузкой сделок РЕПО, как мне нужно, и после того, как я закончу с этим, я должен быть в состоянии установить все зависимости.
Как это:
- мерзавец INIT репо проекта
- мерзавец клонировать проект репо локально,
- принести пару содержания Bootstrap Repos, я нужна,
- установить зависимости Заявляю для проекта и всех зависимостей репозитория бутстрапа.
Есть ли способ сделать это?
Также: Если вы считаете, что я подхожу к этой проблеме совершенно неправильно, пожалуйста, не стесняйтесь говорить мне. В любом случае, я приспосабливаюсь к новым методам, я не боюсь изменений. :)
Прокомментирован любой комментарий.
Любая причина не просто сделать api-bootstrap библиотекой Composer? – nthall
Да: «Обратите внимание, что для этого я не использую композитор, так как я не могу помещать что-либо в папку поставщика/папку, отличную от автозагружаемых php-классов, поскольку доступ ограничен этой папкой. Поднятие этого ограничения также не решит проблему, потому что, если позже я добавлю зависимость, и я вызову обновление композитора, я могу потерять изменения, внесенные в папки начальной загрузки. " – ZeeCoder
Извините, не совсем понял на моем Первое, что можно сказать о использовании пользовательского установщика для установки api-bootstrap где-то помимо поставщика /? – nthall