Hello Sergey and all

Omitting some emails fragment (the …snip…) for brevity:

Le 03/08/2026 à 18:07, Sergey Chernov a écrit :
Maven historically executes commands like mvn clean install as a single
sequence of goals (…snip…).
Other build tools, like Gradle, do it a different way: for each "lifecycle"
(…snip…) it executes the requestested goals/lifecycles for all modules,
then goes to the next requested lifecycle.
So, the mvn clean install in this case would look like this:

    - run clean lifecycle for all modules [optionally in parallel, but still
    only clean]
    - when the clean lifecycle is over, run default lifecycle [validate..
    install] for all modules

IMO this behavior has advantages, but not sure it's compatible with e.g. -rf
  (--resume-from), or all kinds of CLI-executed maven goals (mvn plugin:goal
).
Is this a considerable option? I know this may be too late for such a
drastic change, but this could be a possible solution as it eliminates the
race condition with cleaning target/ of the root module.

Just a note that if using the Source Module Hierarchy introduced by the Java module work in Maven 4, we effectively get this model. This is because all Java modules declared in a Maven sub-project are compiled in a single Maven Compiler Plugin execution. Then all JAR files are created in a single Maven JAR Plugin execution, etc.

    Martin




---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to