Tycho如何将其目标绑定到Maven生命周期 [英] How does Tycho bind its goals to the Maven lifecycle
问题描述
我不了解Tycho如何绑定到Maven生命周期,因为我没有看到任何绑定Tycho目标的pom.xml配置.
I didn't understand how Tycho is bound to the Maven lifecyle as I did not see any pom.xml configuration which binds the Tycho goals.
我的问题是:
-
Tycho如何与Maven的建筑反应堆阶段挂钩,即在计算反应堆之前它在消息下方打印?
How does Tycho hook into Maven's building reactor stage, i.e. when it prints below messages before reactor is computed?
[exec] [警告]没有明确的目标运行时环境配置.构建取决于平台.
[exec] [WARNING] No explicit target runtime environment configuration. Build is platform dependent.
Tycho如何将其目标绑定到Maven的构建生命周期?我看到有些在构建期间执行的目标未在pom.xml中配置:
How does Tycho bind its goals to Maven's build lifecycle? I see that there are goals executed during build which were not configured in the 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 ---
推荐答案
Tycho使用Maven生命周期挂钩在实际的反应堆构建开始之前执行依赖项解析.这些生命周期挂钩仅适用于Maven构建扩展,而IIRC Tycho是它们在Maven 3.0中引入的原因之一.
Tycho is using Maven lifecycle hooks to do the dependency resolution before the actual reactor build starts. These lifecycle hooks are only available to Maven build extension and IIRC Tycho was one of the reasons they were introduced in Maven 3.0.
Tycho's implementation of the lifecycle hook is in the class TychoMavenLifecycleParticipant.
通过包装类型选择在正常反应堆制造过程中执行的目标.当你在项目中设置包装eclipse-feature
时,将执行Tycho定义的一组目标.
The goals that are being executed during the normal reactor build are selected via the packaging type. When you e.g. set the packaging eclipse-feature
in a project, a certain set of goals, defined by Tycho, is executed.
您可以看到 查看全文