mirror of https://github.com/apache/maven.git
o moved to the wiki: https://cwiki.apache.org/confluence/display/MAVEN/Compatibility+with+Maven+2.x
This commit is contained in:
parent
465202c505
commit
9d6b57c5d7
|
@ -1,79 +0,0 @@
|
|||
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 (1)
|
||||
* 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
|
||||
|
||||
(1) In r746285 various methods have been removed from the WagonManager which breaks the maven-project-info-reports-plugin, the
|
||||
maven-site-plugin and the maven-stage-plugin, e.g. due to a linkage error on getAuthentaticationInfo().
|
||||
|
||||
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
|
||||
|
||||
h2. Repositories
|
||||
|
||||
Support for non-unique SNAPSHOT deployments will be dropped.
|
||||
|
||||
h2. Profiles
|
||||
|
||||
Support for the profiles.xml will be dropped.
|
||||
|
||||
h2. Maven 1.x
|
||||
|
||||
Support for the legacy repositories has been dropped.
|
Loading…
Reference in New Issue