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