apache / apache/maven

[MNG-7984] Provide a way to switch some defaults based on the model version used

Open
#8,857 0 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

**[Guillaume Nodet](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=gnt)** opened **[MNG-7984](https://issues.apache.org/jira/browse/MNG-7984?redirect=false)** and commented

For backward compatibility, it's a bit hard to change some defaults for the resolution or other bits of configuration.
* a user property would be defined to control the set of defaults to use
* if not explicitly specified, the project's model version (and the namespace if not specified) could be checked: if 4.0.0, use maven 3 defaults, if >= 4.1.0, use maven 4 defaults

Note that we also now have different superpom for each namespace, so some defaults could be changed there too.  Though the resolver configuration has to be set quite early as this impacts the project building.

For properties based configuration / interpolation (see MNG-7914), an additional `session.modelVersion` could be defined.

---

**Issue Links:**
- [MNG-7914](https://issues.apache.org/jira/browse/MNG-7914) Add a new maven.properties file

Contributor guide

Open the contributing guide

Research direction

No files, tests, or entry points are identified in the issue. Start by reviewing the proposed relationship with MNG-7914 and clarify the default-selection design, including model version, namespace, user property, super POM, and resolver timing; done requires an agreed implementation scope.

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.