apache / apache/maven

[MNG-8338] Refactor subprojects to make old ones optional

Open
#10,290 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-8338](https://issues.apache.org/jira/browse/MNG-8338?redirect=false)** and commented

Ultimately, the following subprojects that should be deprecated and not be "core" dependencies anymore:
* maven-artifact
* maven-builder-support
* maven-compat
* maven-embedder
* maven-model
* maven-model-builder
* maven-plugin-api
* maven-repository-metadata
* maven-resolver-provider
* maven-resolver-provider
* maven-settings
* maven-settings-builder
* maven-toolchain-builder
* maven-toolchain-model

Subprojects to clean from above dependencies:
* maven-api-impl
* maven-core
* maven-cli

We should keep maven-api-impl as a way to access the resolver through the API, mostly useful when dealing with dependencies.  Maven-core should be kept for loading and building projects, everything related to plugins, etc...

I think it may be a good time to rename a few more subprojects, to be more coherent. Maybe rename maven-xml-impl to maven-xml and maven-api-impl to maven-impl ... ?

 

 

---

**Sub-tasks:**
- [MNG-8332](https://issues.apache.org/jira/browse/MNG-8332) Remove link from maven-cling to maven-embedder

- [MNG-8346](https://issues.apache.org/jira/browse/MNG-8346) Reorganise subprojects on file system

- [MNG-8373](https://issues.apache.org/jira/browse/MNG-8373) Extract resolver related code into its own impl submodule

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

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.