You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In Tycho 2.7.x we already moved the class-path computation in the validate-classpath-mojo.
Currently we still resolve the Target and compute the preliminary Target platform at the project-setup phase in maven. The reason for this is to compute the final build order, but actually the target content is not relevant here (we discussed some rare case where it might make a difference but didn't come up with a concrete example in the past).
So my proposal is that we drastically reduce the amount of work done and switch to only calculate the inter-dependencies of the reactor projects (as it would be done in a pure maven setup with explicit requirements declared) as described in #838.
Then we could (in the already existing target-platform-mojo) perform a full resolution against the Target as part of the regular maven build (and thus improve parallel performance).
This would also have the advantage that one do not strictly need a global policy of pomDependecies=consider if we even do as proposed in Change Tycho to always use the maven dependecy model #818 then everything could work "magically" without special resolving flags like we do at the moment.
Only minimal resolving happens when executing phases that actually don't require execution (e.g. set-versions, generating site-docs, ...)
If still there are rare case where a dependency is not discovered automatically, one could add a (pom) dependency directly
Of course there are some minor drawbacks, but I think the above would out-weight this easily:
This might add some extra cycle as there are two resolving-steps, but the first would be much simpler as it only includes the reactor units in contrast to the whole Target so might be acceptable
Failures in target/project resolution might happen later, but we could for example implement Real -fae support #520 in a much easier and more natural fashion than with the current state (wehre -fae actually do not fail at the end if target resolution problems occur)
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
In Tycho 2.7.x we already moved the class-path computation in the
validate-classpath-mojo
.Currently we still resolve the Target and compute the preliminary Target platform at the project-setup phase in maven. The reason for this is to compute the final build order, but actually the target content is not relevant here (we discussed some rare case where it might make a difference but didn't come up with a concrete example in the past).
So my proposal is that we drastically reduce the amount of work done and switch to only calculate the inter-dependencies of the reactor projects (as it would be done in a pure maven setup with explicit requirements declared) as described in #838.
target-platform-mojo
) perform a full resolution against the Target as part of the regular maven build (and thus improve parallel performance).pomDependecies=consider
if we even do as proposed in Change Tycho to always use the maven dependecy model #818 then everything could work "magically" without special resolving flags like we do at the moment.Of course there are some minor drawbacks, but I think the above would out-weight this easily:
Beta Was this translation helpful? Give feedback.
All reactions