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

Phing и Composer, что вокруг?

Я хочу использовать как Phing, так и Composer для своих приложений. Phing как система сборки и Composer для управления зависимостями. Но каким образом они должны использоваться?

В настоящее время мы устанавливаем Phing глобально на всех серверах. Phing должен полностью автоматизировать сборку наших различных проектов. Просто просмотрите копию проекта, запустите Phing с целью по умолчанию, и вам должно быть хорошо. Это также подразумевает, что там должна быть целевая точка Phing, которая вызывает Composer для установки всех зависимостей. Итак, Пин звонит композитору. Но я не смог ничего найти об этой настройке. Там нет ComposerTask или чего-то подобного и googling вокруг не показывает, кто работает таким образом.

Но я многое вижу по-другому. Люди, использующие Composer для установки Phing в качестве зависимости от проекта.

Итак, каковы преимущества (dis) каждого метода? Я пытаюсь сделать это неправильно?

4b9b3361

Ответ 1

Я думаю, что основным преимуществом установки phing с помощью композитора является то, что для проектов с открытым исходным кодом проще убедиться, что ваши пользователи установили такой путь. Как правило, в этих установках phing - это просто инструмент, используемый некоторыми библиотеками для выполнения некоторых задач.

Другим преимуществом является то, что каждый проект может использовать другую версию phing, которую вы не можете сделать, если у вас есть общесистемный.

Если вы используете phing для управления всей вашей сборкой/настройкой проекта, вызов композитора из нее может иметь смысл, но наоборот. Например, вы можете использовать композитор scripts для запуска задач phing после каждого обновления зависимостей. Таким образом, настройка проекта будет следующей:

  • фотографии
  • запустить композитор
  • композитор запускает phing после обновления/установки deps
  • построен проект

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

Ответ 2

Дополнительные мысли по этой теме.

Как правило, Seldaek прав, что оба возможны. Однако аргументы для phing тоже тоже. На уровне архитектуры построения я думаю, что композитор сначала не имеет смысла. Процесс сборки имеет более широкий охват и более длительный срок службы, поэтому он должен управлять менеджером зависимостей, а не наоборот.

Кроме того, если вы работаете с заменой токенов Phing, чтобы определить, какие версии зависимостей вы хотите установить в какой-либо среде, сначала невозможно сместить композитор, потому что phing будет генерировать композитор .json и поэтому должен быть установлен до того, как композитор сможет запустить.