baseline-compare/replace is quite convoluted with p2-meta-data and actually "breaks" maven semantics as we possibly replace an already published artifact with new versions, what might no longer be possible in Maven 4 sooner or later.
Instead we should rework the process to the following pattern:
- If version is known and
baseline-replace is active, it searches for an existing artifact (excluding qualifier) and set all artifacts of the build to that version.
- In this case the "package-mojos" would write the results as usual but not attach then to the project at all and instead write a properties file mentioning them as we already do for p2 artifacts.
baseline-compare can now compare and possibly fail / warn / ignore
That way it is also much more flexible to use these mojos in a stand-alone fashion (e.g. via CLI invocations).
baseline-compare/replace is quite convoluted with p2-meta-data and actually "breaks" maven semantics as we possibly replace an already published artifact with new versions, what might no longer be possible in Maven 4 sooner or later.
Instead we should rework the process to the following pattern:
baseline-replaceis active, it searches for an existing artifact (excluding qualifier) and set all artifacts of the build to that version.baseline-comparecan now compare and possibly fail / warn / ignoreThat way it is also much more flexible to use these mojos in a stand-alone fashion (e.g. via CLI invocations).