2014-11-19 2 views
0

Я не понимал, как Tycho привязан к жизненному циклу Maven, так как я не видел никакой конфигурации pom.xml, которая связывает цели Tycho.Как Tycho связывает свои цели с жизненным циклом Maven

Мои вопросы:

  1. Как Tycho крюк в стадии строительства реактора в Maven, то есть, когда он печатает ниже сообщений перед реактором вычисляется?

    [exec] [ПРЕДУПРЕЖДЕНИЕ] Отсутствует явная конфигурация среды выполнения задачи. Сборка зависит от платформы.

  2. Как Tycho связывает свои цели с жизненным циклом сборки Maven? Я вижу, что есть цели, выполненные во время сборки, которые не были настроены в pom.xml:

    [exec] [INFO] --- target-platform-configuration:0.21.0:target-platform (default-target-platform) @ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX --- 
    [exec] [INFO] 
    [exec] [INFO] --- tycho-packaging-plugin:0.21.0:package-feature (default-package-feature) @ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX --- 
    

ответ

1

Tycho использует Maven жизненный цикл крючки, чтобы сделать разрешение зависимостей перед началом сборки фактического реактора , Эти крючки жизненного цикла доступны только для расширения Maven build, а IIRC Tycho была одной из причин, по которым они были представлены в Maven 3.0.

Выполнение Tycho крюка жизненного цикла находится в классе TychoMavenLifecycleParticipant.

Цели, выполняемые во время нормальной сборки реактора, выбираются с помощью типа упаковки. Когда вы, например, установите упаковку eclipse-feature в проект, выполняется определенный набор целей, определенных Tycho.

Вы можете видеть точное сопоставление целей с этапами жизненного цикла Maven, которое определено в this component.xml file in the Tycho sources.

Смежные вопросы