apache / apache/maven

[MNG-8485] Finalize Maven 4 API

Open
#10,736 15 comments 0 reactions 0 assignees View on GitHub
maintenance priority:blocker
Dominant language
Java
Stars
5.3k
Forks
3.1k
Avg merge
20h 42m
Merged PRs (30d)
297

Description

**[Elliotte Rusty Harold](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=elharo)** opened **[MNG-8485](https://issues.apache.org/jira/browse/MNG-8485?redirect=false)** and commented

Roughly 200 classes and interfaces in Maven core are annotated `@Experimental` . There might be a reason to ship a few things in 4.0 that might still change but 200 is far too many. Commit to these APIs (i.e. remove the annotation) or fix and/or remove those types.

Ar least some of them such as org.apache.maven.api.services.BaseRequest are already package protected, in which case we don't need the annotation at all.

Things to fix:

There are two ProblemCollector interfaces. Rename one or combine them.

---

**Affects:** 4.0.0-rc-2

**Issue Links:**
- [MNG-8488](https://issues.apache.org/jira/browse/MNG-8488) Finish javadoc for Maven 4 API

**Remote Links:**
- [GitHub Pull Request #2036
](https://github.com/apache/maven/pull/2036)
- [GitHub Pull Request #2039
](https://github.com/apache/maven/pull/2039)

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the Maven core types annotated @Experimental, then inspect the two ProblemCollector interfaces and the package visibility of org.apache.maven.api.services.BaseRequest. Compare the requested API decisions with pull requests #2036 and #2039; done requires resolving or removing the experimental APIs and addressing the duplicate interfaces.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
build-system
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
15/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.