Ярослав
Новичок
Приветствую!
Вот и настал тот момент когда наступил ад из зависимостями в проекте и было решено перевести все это дело на composer.
Проектов довольно много и зависимости на дев машине рулятся симлинками, т.е. есть каталог www/ и в нем уже куча разных сорцов их разных мест: git, svn и т.д. но по принципу company/project/
Далее идет линковка
К примеру:
т.е. в проект идут только нужные сорцы и всякие там docs, tests не видимы в главном проекте, а существуют только в вендорах.
Далее при деплойменте на bash скрипте все эти сорцы собираются и rsync копирует их на продакшен, все это дело в ручном режиме, т.е. сначала --dry-run смотрятся какие файлы изменились, если нужно то смотрим diff и уже окончательная синхронизация.
Вообщем все стало очень сложно и запутано, как к такому пришли и почему не начали правильно рулить зависимостями ранее - ХЗ
Но настал новый день и было решено исправить ситуацию
Установил composer и начал создавать первый пакет.
Все замечательно работает, зависимости складываются в каталог vendor/ и кажется все отлично если бы не несколько моментов, которые конфликтуют с текущей структурой:
1. Все залетело в vendor, но это получилось исправить
2. Вместе с пакетом прилетели лишние файлы: docs, tests которые мне ненужны и сейчас у меня вид:
Как указать ему чтобы брал только исходники из определенного каталога непонятно. Создавал собственный пакет и указывал путь к git, но нельзя указать конкретный каталог.
Гугл подсказывает что это нереально добиться, т.к. эти фичи не заложены в сам composer https://github.com/composer/composer/issues/2818 и нужно делать другими путями.
Но мне не нравится что у меня в проекте будут левые каталоги, которые мне не нужны ну и на продакшене они не нужны тем более.
Вариант обхода нашел в виде Satis где можно создавать отдельные пакеты из нужными исходниками.
Также возможет вариант билда проекта тем же bash или phing
Собственно как понянуть в зависимостях только нужные исходники или самый простой способ решить этот вопрос?
Вот и настал тот момент когда наступил ад из зависимостями в проекте и было решено перевести все это дело на composer.
Проектов довольно много и зависимости на дев машине рулятся симлинками, т.е. есть каталог www/ и в нем уже куча разных сорцов их разных мест: git, svn и т.д. но по принципу company/project/
Далее идет линковка
К примеру:
Код:
company1/
project1/
library/
Zend -> Zend/zendframework/library/Zend
Doctrine -> Doctrine/Dbal/lib/
Далее при деплойменте на bash скрипте все эти сорцы собираются и rsync копирует их на продакшен, все это дело в ручном режиме, т.е. сначала --dry-run смотрятся какие файлы изменились, если нужно то смотрим diff и уже окончательная синхронизация.
Вообщем все стало очень сложно и запутано, как к такому пришли и почему не начали правильно рулить зависимостями ранее - ХЗ
Но настал новый день и было решено исправить ситуацию
Установил composer и начал создавать первый пакет.
Все замечательно работает, зависимости складываются в каталог vendor/ и кажется все отлично если бы не несколько моментов, которые конфликтуют с текущей структурой:
1. Все залетело в vendor, но это получилось исправить
2. Вместе с пакетом прилетели лишние файлы: docs, tests которые мне ненужны и сейчас у меня вид:
Код:
company1/
project1/
library/
Zend/
docs/
library/
Zend/
tests/
...
Гугл подсказывает что это нереально добиться, т.к. эти фичи не заложены в сам composer https://github.com/composer/composer/issues/2818 и нужно делать другими путями.
Но мне не нравится что у меня в проекте будут левые каталоги, которые мне не нужны ну и на продакшене они не нужны тем более.
Вариант обхода нашел в виде Satis где можно создавать отдельные пакеты из нужными исходниками.
Также возможет вариант билда проекта тем же bash или phing
Собственно как понянуть в зависимостях только нужные исходники или самый простой способ решить этот вопрос?