apache / apache/maven

[MNG-6347] Support custom module lifecycle

Open
#7,517 5 comments 0 reactions 0 assignees View on GitHub
enhancement priority:major
Dominant language
Java
Stars
5.3k
Forks
3.1k
Avg merge
20h 42m
Merged PRs (30d)
297

Description

**[Romain Manni-Bucau](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=romain.manni-bucau)** opened **[MNG-6347](https://issues.apache.org/jira/browse/MNG-6347?redirect=false)** and commented

With front builds wired to maven it starts to be challenging to have a functional lifecycle,
common workaround is to use `generate-sources` to setup the node environment (install node + npm install), `process-sources` to enrich it with project specific data (`cp myjslib src/main/frontend/node_module`), `generate-resources` to generate the application (npm build) and build-helper-maven-plugin to add the generated folder (`src/main/frontend/dist`) in `META-INF/resources` of the produced jar.

This is just a simple example but it can be much more complex and it is harder and harder to insert steps with the limited phases of the default lifecycle. Also the fact you cannot define the same plugin N times (without having a warning) means it is sometimes not possible to have the right execution order.

To solve that it would be nice to have a way to specify the order of the executions or add custom phases in between existing ones directly into the project - without having to do it in a plugin/extension.

---

**Issue Links:**
- [MNG-5666](https://issues.apache.org/jira/browse/MNG-5666) Divide lifecycle in prePhases, phases and postPhases

- [MNG-6289](https://issues.apache.org/jira/browse/MNG-6289) The ability to add a new phase to default lifecycle

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.