[MNG-683] Lifecycle mappings should specify phase bindings in terms of general functionality type
- Dominant language
- Java
- Stars
- 5.3k
- Forks
- 3.1k
- Avg merge
- 20h 42m
- Merged PRs (30d)
- 297
Description
**[John Dennis Casey](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=jdcasey)** opened **[MNG-683](https://issues.apache.org/jira/browse/MNG-683?redirect=false)** and commented
Currently, the 'jar' lifecycle mapping specifies that the 'compiler:complie' mojo will be bound to the 'compile' phase. The 'compiler' prefix is mapped concretely to the maven-compiler-plugin. This means that it's not currently possible to use a different mojo to compile jar projects.
How can a third party implementor touch this lifecycle phase for jars without implementing a new plexus-compiler implementation, and even then, how is the new compiler impl supposed to be added to the plugin container?
---
**Affects:** 2.0-alpha-3
**Issue Links:**
- [MNG-2806](https://issues.apache.org/jira/browse/MNG-2806) Provide a means of replacing one mojo binding with another, without knowing the location of the first binding in the lifecycle
(_**"depends upon"**_)
**Remote Links:**
- [Page
](https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=65875544)
Contributor guide
Research direction
Start by reading the jar lifecycle mapping and the linked MNG-2806 issue, then trace how the compiler prefix is resolved to the maven-compiler-plugin. The goal is to determine how lifecycle bindings can use a general functionality type and allow a different compile mojo without requiring a new plexus-compiler implementation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- build-system
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100