mirror of https://github.com/apache/maven.git
64 lines
3.7 KiB
Plaintext
64 lines
3.7 KiB
Plaintext
This document outlines some of the steps that are being taken to ensure as much backward compatibility with tools and plugins
|
|
that are currently written against Maven 2.0.x.
|
|
|
|
h1. Affected Plugins
|
|
|
|
h2. Maven Remote Resources Plugin
|
|
* org.apache.maven.project.inheritance.ModelInheritanceAssembler#assembleModelInheritance: used to walk the POMs to find out all the license information. This
|
|
functionality has been superceded by the model properties-based system for POM construction. We provide the same functionality using the model
|
|
properties-based system but have just placed the component as-is in the maven-compat package to ensure the default lifecycle functions.
|
|
* org.apache.maven.project.ProjectUtils: placed in the maven-compat package.
|
|
* org.apache.maven.project.MissingRepositoryElementException ... used by ProjectUtils
|
|
|
|
h2. Maven Help Plugin
|
|
* org.apache.maven.project.path.PathTranslator: used as a parameter in the EvaluateMojo. The path translator has been replaced the model builder
|
|
and PomTransformer.
|
|
|
|
h1. Affected Components & Classes
|
|
|
|
h2. Maven Artifact
|
|
|
|
Maven Artifact will be entirely extricated from the core of Maven 3.x and replaced with Mercury, but we will make a best effort to
|
|
ensure the compatibility of plugins that use Maven Artifact. There are, however, components and classes that are just so broken or conflict
|
|
with standard ways of doing resolution and conflict reduction that we can't support them.
|
|
|
|
h3. Supported Compatibility
|
|
* org.apache.maven.artifact.deployer.ArtifactDeployer
|
|
* org.apache.maven.artifact.factory.ArtifactFactory
|
|
* org.apache.maven.artifact.handler.ArtifactHandler
|
|
* org.apache.maven.artifact.installer.ArtifactInstaller
|
|
* org.apache.maven.artifact.manager.WagonManager
|
|
* org.apache.maven.artifact.repository.ArtifactRepository
|
|
* org.apache.maven.artifact.repository.ArtifactRepositoryPolicy
|
|
* org.apache.maven.artifact.repository.ArtifactRepositoryFactory
|
|
* org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout
|
|
* org.apache.maven.artifact.resolver.ArtifactResolver
|
|
* org.apache.maven.artifact.resolver.filter.ArtifactFilter
|
|
* org.apache.maven.artifact.resolver.filter.Artifact
|
|
|
|
h3. Unsupported Compatibility
|
|
* org.apache.maven.artifact.metadata.ArtifactMetadataSource
|
|
* org.apache.maven.artifact.metadata.ResolutionGroup
|
|
* org.apache.maven.artifact.repository.metadata.*
|
|
* org.apache.maven.artifact.resolver.ResolutionNode
|
|
* org.apache.maven.artifact.resolver.ResolutionListener
|
|
* org.apache.maven.artifact.resolver.metadata.*
|
|
* org.apache.maven.artifact.resolver.transform.*
|
|
* org.apache.maven.artifact.resolver.versioning.*
|
|
|
|
h2. Settings
|
|
|
|
The settings are historically a CLI-based mechanism for setting preferences. It should have never gone beyond the core into plugins
|
|
or other tools. Unfortunately we allowed the ${settings} expression in plugins and from there it made its way into components like
|
|
the release manager. The release manager in turn never evolved to decouple itself from the settings and it requires a recreation
|
|
of the entire Maven environment to work and grabs the RuntimeInfo info class from the settings in order to do this. Other plugins
|
|
may require this and we'll have to find them them and push them toward using the Invoker where the Maven environment is taken care
|
|
of and restrict/forbid the use of settings in plugins. Everything required is in the exeution request and therefore the session and
|
|
that's all plugins should need.
|
|
|
|
The changes made relate to MNG-3954, where the RuntimeInfo class needed to be partially rescurrected in order to make the release
|
|
plugin happy.
|
|
|
|
h2. Changes to the CLI
|
|
* Log file support has been added i.e mvn -l log.txt clean install
|
|
* Plugin registry option has not been supported in the core and it lagged around in the CLI |