Open VenaNocta opened 4 months ago
During evaluation of possible solutions it was decided that a new configuration will be added.
The configuration is called goal-requirement-model
and defined in the grm.xml
file.
In the goal-requirement-model
the user can define which goals have to be executed before/after the goal in question. Additionally condition fields are included so that the definition can be dynamically activated per used packaging-procedure, lifecycle, phase, profile, ...
The development branch also includes minor optimizations and bug fixes that were uncovered during development.
The configuration source workflow
was added to both the project-execution-model
and the goal-requirement-model
, enabling companies/projects to deploy an universal configuration maven-plugin containing the pem.xml
and grm.xml
defining a unified workflow and automation pipeline.
Furthermore RunedUniverse will use the workflow feature to provide r4m integrations for common project environments. We already have a few projects in mind...
Enable in Phase Goal sorting
Current Behavior
Currently the order of goals in a phase is defined by the order in which they are defined. in the case of default maven it is the order in which the goals are defined in the pom.xml. This behavior has been carried over to r4m where it additionally matters in which order the executions are defined in the effective pem.xml, after merging with inherited pem's.
Well this issue should theoretically not exist since it should never matter in which order goals are executed inside the same phase, ... but such little frameworks like "Spring" do not seem to care (Spring by default launches up to 3 goals inside the package phase which have to be executed in a strict sequence). Which in turn leads to a lot of complains and need for extra customization.
Additionally maven internally provides a way for sorting goals, which is not utilized and marked so that it can change at any time!
Suggested Behavior
Provide a way to define goals which, when defined, have to be executed before/after a goal. Currently I'm not sure if it would be a good to idea to include that inside the current pem.xml.
Maybe provide extra support artifacts which add predefined standard pem (& where ever the order is saved) implementations which can be easily added as maven plugins.