[MNG-8338] Refactor subprojects to make old ones optional
- 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
Assessment
This issue has not been assessed yet.