[MNG-7007] Remove documented backward compatibility
- Dominant language
- Java
- Stars
- 5.3k
- Forks
- 3.1k
- Avg merge
- 20h 40m
- Merged PRs (30d)
- 275
Description
**[Michael Osipov](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=michael-o)** opened **[MNG-7007](https://issues.apache.org/jira/browse/MNG-7007?redirect=false)** and commented
These spots document backward compatibility:
```
./maven-core/src/main/java/org/apache/maven/execution/MavenSession.java: // Backward compat
./maven-core/src/main/java/org/apache/maven/plugin/DefaultBuildPluginManager.java: // This is necessary to avoid creating compatibility problems for existing plugins that use
./maven-core/src/main/java/org/apache/maven/plugin/LegacySupport.java: * Helps to provide backward-compatibility with plugins that use legacy components. Warning: This is an
./maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultLegacySupport.java: * Helps to provide backward-compatibility with plugins that use legacy components. Warning: This is an
./maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingHelper.java: * This is purely for backward-compat with 2.x where consisting of a single artifact where
./maven-core/src/main/java/org/apache/maven/project/DuplicateArtifactAttachmentException.java: * Currently, this modification would create compatibility problems for existing plugins.
./maven-core/src/main/java/org/apache/maven/project/MavenProject.java: * @throws DuplicateArtifactAttachmentException will never happen but leave it for backward compatibility
./maven-core/src/main/java/org/apache/maven/project/artifact/DefaultMetadataSource.java: * This realizes the metadata source via the default hint to provide backward-compat with Maven 2.x whose Plexus version
./maven-core/src/main/java/org/apache/maven/toolchain/java/DefaultJavaToolChain.java: * Provides backwards compatibility with Maven 3.2.3 and earlier. Clients that do not require compatibility with Maven
./maven-core/src/main/java/org/apache/maven/toolchain/java/DefaultJavaToolChain.java: * @deprecated clients that do not require compatibility with Maven 3.2.3 and earlier should link to
./maven-core/src/main/java/org/apache/maven/toolchain/java/JavaToolchainFactory.java: // use DefaultJavaToolChain for compatibility with maven 3.2.3 and earlier
./maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuildingRequest.java: * Denotes validation as performed by Maven 2.0. This validation level is meant as a compatibility mode to allow
./maven-model-builder/src/main/java/org/apache/maven/model/inheritance/DefaultInheritanceAssembler.java: * sake of backward-compat with 2.x (MNG-5000). In general, it is wrong to
./maven-model-builder/src/main/java/org/apache/maven/model/normalization/DefaultModelNormalizer.java: * NOTE: This is primarily to keep backward-compat with Maven 2.x which did not validate that dependencies are
./maven-model-builder/src/main/java/org/apache/maven/model/normalization/DefaultModelNormalizer.java: * the first occurrence. So when we're in lenient/compat mode, we have to deal with such broken POMs and mimic
./maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java: * order to don't break backward-compat with those, only warn but don't error out.
./maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java: // note this will not be hit for Maven 1.x project.xml as it is an incompatible schema
```
They need to be reviewed one by one and removed if possible.
---
**Affects:** 3.6.3
**Sub-tasks:**
- [MNG-7166](https://issues.apache.org/jira/browse/MNG-7166) DefaultModelNormalizer remove compat code
**Issue Links:**
- [MNG-7260](https://issues.apache.org/jira/browse/MNG-7260) Remove old deprecated code
- [MNG-7020](https://issues.apache.org/jira/browse/MNG-7020) Remove Maven 2 WagonExcluder backward compat code
- [MNG-7021](https://issues.apache.org/jira/browse/MNG-7021) Remove old MHELP backward compat code
- [MNG-7022](https://issues.apache.org/jira/browse/MNG-7022) Remove o.a.m.lifecycle.mapping.Lifecycle optional mojos backward compat code
- [MNG-6888](https://issues.apache.org/jira/browse/MNG-6888) Remove deprecated command line options
Contributor guide
Assessment
This issue has not been assessed yet.