Michael Osipov created MNG-7007:
-----------------------------------

             Summary: Remove documented backward compatibility
                 Key: MNG-7007
                 URL: https://issues.apache.org/jira/browse/MNG-7007
             Project: Maven
          Issue Type: Task
    Affects Versions: 3.6.3
            Reporter: Michael Osipov


These spots document backward compatibility:
{noformat}
./maven-core/src/main/java/org/apache/maven/execution/MavenSession.java:    // 
Backward compat
./maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java:
    // NOTE: Backward-compat with maven-help-plugin:2.1
./maven-core/src/main/java/org/apache/maven/lifecycle/mapping/Lifecycle.java:   
  * NOTE: This exists merely for backward-compat with legacy-style lifecycle 
definitions and allows configuration
./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. 
<strong>Warning:</strong> 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. <strong>Warning:</strong> This is an
./maven-core/src/main/java/org/apache/maven/plugin/internal/PluginDependencyResolutionListener.java:
 * core wagon versions. This is a hack to provide backward-compat with Maven 2 
(MNG-4528, MNG-4561).
./maven-core/src/main/java/org/apache/maven/plugin/internal/WagonExcluder.java: 
* core wagon versions. This is a hack to provide backward-compat with Maven 2 
(MNG-4528, MNG-4561).
./maven-core/src/main/java/org/apache/maven/plugin/version/internal/DefaultPluginVersionResolver.java:
            logger.debug( "Ignoring incompatible plugin version " + version + 
": " + e.getMessage() );
./maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingHelper.java:
                 * This is purely for backward-compat with 2.x where 
<extensions> 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-embedder/src/main/java/org/apache/maven/cli/CLIManager.java:        // 
Adding this back in for compatibility with the verifier that hard codes this 
option.
./maven-embedder/src/main/java/org/apache/maven/cli/CLIManager.java:        
options.addOption( Option.builder( "npr" ).longOpt( "no-plugin-registry" 
).desc( "Ineffective, only kept for backward compatibility" ).build() );
./maven-embedder/src/main/java/org/apache/maven/cli/CLIManager.java:        
options.addOption( Option.builder( "cpu" ).longOpt( "check-plugin-updates" 
).desc( "Ineffective, only kept for backward compatibility" ).build() );
./maven-embedder/src/main/java/org/apache/maven/cli/CLIManager.java:        
options.addOption( Option.builder( "up" ).longOpt( "update-plugins" ).desc( 
"Ineffective, only kept for backward compatibility" ).build() );
./maven-embedder/src/main/java/org/apache/maven/cli/CLIManager.java:        
options.addOption( Option.builder( "npu" ).longOpt( "no-plugin-updates" ).desc( 
"Ineffective, only kept for backward compatibility" ).build() );
./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
{noformat}

They need to be reviewed one by one and removed if possible.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to