You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by sc...@apache.org on 2016/12/31 18:50:16 UTC
[1/2] maven git commit: [MNG-6135] Maven plugins and core extensions
are not dependencies, they should be resolved the same way as projects.
Repository: maven
Updated Branches:
refs/heads/master 1a94cd4a7 -> ae9c2269e
[MNG-6135] Maven plugins and core extensions are not dependencies, they should be resolved the same way as projects.
o Updated to use the '<prerequisites>' element to decide the style of
resolution as discussed on dev@. Plugins with prerequisites >= 3.4 get the
correct resolution, all other plugins will be resolved with direct 'test' and
'provided' dependencies ignored but direct 'optional' dependencies.
Project: http://git-wip-us.apache.org/repos/asf/maven/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/6d68777c
Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/6d68777c
Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/6d68777c
Branch: refs/heads/master
Commit: 6d68777c7ed6de2ad8fca6495b65b138bc1f7085
Parents: 1a94cd4
Author: Christian Schulte <sc...@apache.org>
Authored: Sat Dec 31 19:17:33 2016 +0100
Committer: Christian Schulte <sc...@apache.org>
Committed: Sat Dec 31 19:42:38 2016 +0100
----------------------------------------------------------------------
.../DefaultPluginDependenciesResolver.java | 211 +++++++++++++++----
1 file changed, 165 insertions(+), 46 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/maven/blob/6d68777c/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultPluginDependenciesResolver.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultPluginDependenciesResolver.java b/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultPluginDependenciesResolver.java
index fed2a45..874ed05 100644
--- a/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultPluginDependenciesResolver.java
+++ b/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultPluginDependenciesResolver.java
@@ -24,6 +24,7 @@ import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import org.apache.maven.RepositoryUtils;
+import org.apache.maven.artifact.versioning.ComparableVersion;
import org.apache.maven.model.Dependency;
import org.apache.maven.model.Plugin;
import org.apache.maven.plugin.PluginResolutionException;
@@ -57,8 +58,11 @@ import org.eclipse.aether.resolution.DependencyResolutionException;
import org.eclipse.aether.util.artifact.JavaScopes;
import org.eclipse.aether.util.filter.AndDependencyFilter;
import org.eclipse.aether.util.filter.ScopeDependencyFilter;
+import org.eclipse.aether.util.graph.manager.ClassicDependencyManager;
import org.eclipse.aether.util.graph.manager.DependencyManagerUtils;
import org.eclipse.aether.util.graph.selector.AndDependencySelector;
+import org.eclipse.aether.util.graph.selector.ExclusionDependencySelector;
+import org.eclipse.aether.util.graph.selector.OptionalDependencySelector;
import org.eclipse.aether.util.graph.transformer.ChainedDependencyGraphTransformer;
import org.eclipse.aether.util.graph.visitor.FilteringDependencyVisitor;
import org.eclipse.aether.util.graph.visitor.PreorderNodeListGenerator;
@@ -79,6 +83,10 @@ public class DefaultPluginDependenciesResolver
private static final String REPOSITORY_CONTEXT = "plugin";
+ private static final String DEFAULT_PREREQUISITES = "2.0";
+
+ private static final ComparableVersion DEFAULT_RESULTION_PREREQUISITES = new ComparableVersion( "3.4" );
+
@Requirement
private Logger logger;
@@ -91,50 +99,21 @@ public class DefaultPluginDependenciesResolver
session.getArtifactTypeRegistry().get( "maven-plugin" ) );
}
+ @Override
public Artifact resolve( Plugin plugin, List<RemoteRepository> repositories, RepositorySystemSession session )
throws PluginResolutionException
{
- RequestTrace trace = RequestTrace.newChild( null, plugin );
-
- Artifact pluginArtifact = toArtifact( plugin, session );
-
try
{
- DefaultRepositorySystemSession pluginSession = new DefaultRepositorySystemSession( session );
- pluginSession.setArtifactDescriptorPolicy( new SimpleArtifactDescriptorPolicy( true, false ) );
-
- ArtifactDescriptorRequest request =
- new ArtifactDescriptorRequest( pluginArtifact, repositories, REPOSITORY_CONTEXT );
- request.setTrace( trace );
- ArtifactDescriptorResult result = repoSystem.readArtifactDescriptor( pluginSession, request );
-
- pluginArtifact = result.getArtifact();
-
- String requiredMavenVersion = (String) result.getProperties().get( "prerequisites.maven" );
- if ( requiredMavenVersion != null )
- {
- Map<String, String> props = new LinkedHashMap<>( pluginArtifact.getProperties() );
- props.put( "requiredMavenVersion", requiredMavenVersion );
- pluginArtifact = pluginArtifact.setProperties( props );
- }
+ final Artifact pluginArtifact = this.createPluginArtifact( plugin, session, repositories );
+ final ArtifactRequest request = new ArtifactRequest( pluginArtifact, repositories, REPOSITORY_CONTEXT );
+ request.setTrace( RequestTrace.newChild( null, plugin ) );
+ return this.repoSystem.resolveArtifact( session, request ).getArtifact();
}
- catch ( ArtifactDescriptorException e )
+ catch ( ArtifactDescriptorException | ArtifactResolutionException e )
{
throw new PluginResolutionException( plugin, e );
}
-
- try
- {
- ArtifactRequest request = new ArtifactRequest( pluginArtifact, repositories, REPOSITORY_CONTEXT );
- request.setTrace( trace );
- pluginArtifact = repoSystem.resolveArtifact( session, request ).getArtifact();
- }
- catch ( ArtifactResolutionException e )
- {
- throw new PluginResolutionException( plugin, e );
- }
-
- return pluginArtifact;
}
/**
@@ -234,17 +213,114 @@ public class DefaultPluginDependenciesResolver
}
+ // This dependency selector matches the resolver's implementation before MRESOLVER-8 got fixed. It is
+ // used for plugin's with prerequisites < 3.4 to mimic incorrect but backwards compatible behaviour.
+ class ClassicScopeDependencySelector implements DependencySelector
+ {
+
+ private final boolean transitive;
+
+ ClassicScopeDependencySelector()
+ {
+ this( false );
+ }
+
+ private ClassicScopeDependencySelector( final boolean transitive )
+ {
+ super();
+ this.transitive = transitive;
+ }
+
+ @Override
+ public boolean selectDependency( final org.eclipse.aether.graph.Dependency dependency )
+ {
+ return !this.transitive
+ || !( "test".equals( dependency.getScope() )
+ || "provided".equals( dependency.getScope() ) );
+
+ }
+
+ @Override
+ public DependencySelector deriveChildSelector( final DependencyCollectionContext context )
+ {
+ ClassicScopeDependencySelector child = this;
+
+ if ( context.getDependency() != null && !child.transitive )
+ {
+ child = new ClassicScopeDependencySelector( true );
+ }
+ if ( context.getDependency() == null && child.transitive )
+ {
+ child = new ClassicScopeDependencySelector( false );
+ }
+
+ return child;
+ }
+
+ @Override
+ public boolean equals( Object obj )
+ {
+ boolean equal = obj instanceof ClassicScopeDependencySelector;
+
+ if ( equal )
+ {
+ final ClassicScopeDependencySelector that = (ClassicScopeDependencySelector) obj;
+ equal = this.transitive == that.transitive;
+ }
+
+ return equal;
+ }
+
+ @Override
+ public int hashCode()
+ {
+ int hash = 17;
+ hash = hash * 31 + ( ( (Boolean) this.transitive ).hashCode() );
+ return hash;
+ }
+
+ }
+
final RequestTrace trace = RequestTrace.newChild( null, plugin );
final DependencyFilter collectionFilter = new ScopeDependencyFilter( "provided", "test" );
final DependencyFilter resolutionFilter = AndDependencyFilter.newInstance( collectionFilter, dependencyFilter );
- final Artifact pluginArtifact = artifact != null
- ? artifact
- : toArtifact( plugin, session );
try
{
+ final Artifact pluginArtifact = artifact != null
+ ? this.createPluginArtifact( artifact, session, repositories )
+ : this.createPluginArtifact( plugin, session, repositories );
+
+ final ComparableVersion prerequisites =
+ new ComparableVersion( pluginArtifact.getProperty( "requiredMavenVersion", DEFAULT_PREREQUISITES ) );
+
+ final boolean classicResolution = prerequisites.compareTo( DEFAULT_RESULTION_PREREQUISITES ) < 0;
+
+ if ( this.logger.isDebugEnabled() )
+ {
+ if ( classicResolution )
+ {
+ this.logger.debug( String.format(
+ "Constructing classic plugin classpath '%s' for prerequisites '%s'.",
+ pluginArtifact, prerequisites ) );
+
+ }
+ else
+ {
+ this.logger.debug( String.format(
+ "Constructing default plugin classpath '%s' for prerequisites '%s'.",
+ pluginArtifact, prerequisites ) );
+
+ }
+ }
+
final DependencySelector pluginDependencySelector =
- AndDependencySelector.newInstance( session.getDependencySelector(), new WagonExcluder() );
+ classicResolution
+ ? new AndDependencySelector( new ClassicScopeDependencySelector(), // incorrect - see MRESOLVER-8
+ new OptionalDependencySelector(),
+ new ExclusionDependencySelector(),
+ new WagonExcluder() )
+ : AndDependencySelector.newInstance( session.getDependencySelector(), new WagonExcluder() );
final DependencyGraphTransformer pluginDependencyGraphTransformer =
ChainedDependencyGraphTransformer.newInstance( session.getDependencyGraphTransformer(), transformer );
@@ -253,7 +329,9 @@ public class DefaultPluginDependenciesResolver
DefaultRepositorySystemSession pluginSession = new DefaultRepositorySystemSession( session );
pluginSession.setDependencySelector( pluginDependencySelector );
pluginSession.setDependencyGraphTransformer( pluginDependencyGraphTransformer );
- pluginSession.setDependencyManager( pluginDependencyManager );
+ pluginSession.setDependencyManager( classicResolution
+ ? new ClassicDependencyManager()
+ : pluginDependencyManager );
CollectRequest request = new CollectRequest();
request.setRequestContext( REPOSITORY_CONTEXT );
@@ -269,14 +347,17 @@ public class DefaultPluginDependenciesResolver
}
request.addDependency( pluginDep );
- if ( logger.isDebugEnabled() )
+ if ( !classicResolution )
{
- logger.debug( String.format( "Collecting plugin dependency %s from project.", pluginDep ) );
- }
+ if ( logger.isDebugEnabled() )
+ {
+ logger.debug( String.format( "Collecting plugin dependency %s from project.", pluginDep ) );
+ }
- pluginDependencyManager.getExclusions().
- addAll( this.collectPluginDependencyArtifacts( session, repositories, pluginDep ) );
+ pluginDependencyManager.getExclusions().
+ addAll( this.collectPluginDependencyArtifacts( session, repositories, pluginDep ) );
+ }
}
request.setRoot( new org.eclipse.aether.graph.Dependency( pluginArtifact, null ) );
@@ -297,7 +378,7 @@ public class DefaultPluginDependenciesResolver
repoSystem.resolveDependencies( session, depRequest );
return node;
}
- catch ( DependencyCollectionException e )
+ catch ( ArtifactDescriptorException | DependencyCollectionException e )
{
throw new PluginResolutionException( plugin, e );
}
@@ -307,6 +388,44 @@ public class DefaultPluginDependenciesResolver
}
}
+ private Artifact createPluginArtifact( final Plugin plugin,
+ final RepositorySystemSession session,
+ final List<RemoteRepository> repositories )
+ throws ArtifactDescriptorException
+ {
+ return this.createPluginArtifact( toArtifact( plugin, session ), session, repositories );
+ }
+
+ private Artifact createPluginArtifact( final Artifact artifact,
+ final RepositorySystemSession session,
+ final List<RemoteRepository> repositories )
+ throws ArtifactDescriptorException
+ {
+ Artifact pluginArtifact = artifact;
+ final DefaultRepositorySystemSession pluginSession = new DefaultRepositorySystemSession( session );
+ pluginSession.setArtifactDescriptorPolicy( new SimpleArtifactDescriptorPolicy( true, false ) );
+
+ final ArtifactDescriptorRequest request =
+ new ArtifactDescriptorRequest( pluginArtifact, repositories, REPOSITORY_CONTEXT );
+
+ request.setTrace( RequestTrace.newChild( null, artifact ) );
+
+ final ArtifactDescriptorResult result = this.repoSystem.readArtifactDescriptor( pluginSession, request );
+
+ pluginArtifact = result.getArtifact();
+
+ final String requiredMavenVersion = (String) result.getProperties().get( "prerequisites.maven" );
+
+ if ( requiredMavenVersion != null )
+ {
+ final Map<String, String> props = new LinkedHashMap<>( pluginArtifact.getProperties() );
+ props.put( "requiredMavenVersion", requiredMavenVersion );
+ pluginArtifact = pluginArtifact.setProperties( props );
+ }
+
+ return pluginArtifact;
+ }
+
private List<org.eclipse.aether.artifact.Artifact> collectPluginDependencyArtifacts(
final RepositorySystemSession session, final List<RemoteRepository> repositories,
final org.eclipse.aether.graph.Dependency pluginDependency )
[2/2] maven git commit: [MNG-6139] Addition of command line option
'legacy-dependency-management'.
Posted by sc...@apache.org.
[MNG-6139] Addition of command line option 'legacy-dependency-management'.
This reverts commits
bb8a797c5bef4629c4c9127b1a6d94724b6cc430
7e70c59e43f112c12282de49d937e870c9545fc9
There will be no such command line option following the discussion on dev@.
Asking me to revert and then complaining about all those revert commits?
Project: http://git-wip-us.apache.org/repos/asf/maven/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/ae9c2269
Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/ae9c2269
Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/ae9c2269
Branch: refs/heads/master
Commit: ae9c2269e41c37bfa9e3aae711e827d6efbb6da7
Parents: 6d68777
Author: Christian Schulte <sc...@apache.org>
Authored: Sat Dec 31 19:19:04 2016 +0100
Committer: Christian Schulte <sc...@apache.org>
Committed: Sat Dec 31 19:43:46 2016 +0100
----------------------------------------------------------------------
.../java/org/apache/maven/DefaultMaven.java | 43 +++++++++-----------
.../java/org/apache/maven/RepositoryUtils.java | 23 ++++-------
.../execution/DefaultMavenExecutionRequest.java | 26 ------------
.../maven/execution/MavenExecutionRequest.java | 11 -----
.../DefaultRepositorySystemSessionFactory.java | 7 ----
.../maven/project/DefaultProjectBuilder.java | 1 -
.../project/DefaultProjectBuildingRequest.java | 22 ----------
.../maven/project/ProjectBuildingRequest.java | 10 -----
.../java/org/apache/maven/cli/CLIManager.java | 3 --
.../java/org/apache/maven/cli/MavenCli.java | 9 +---
.../building/DefaultModelBuildingRequest.java | 21 ----------
.../building/FilterModelBuildingRequest.java | 15 +------
.../model/building/ModelBuildingRequest.java | 10 -----
.../DefaultDependencyManagementInjector.java | 27 ++----------
.../ArtifactDescriptorReaderDelegate.java | 19 ++++-----
15 files changed, 40 insertions(+), 207 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/maven/blob/ae9c2269/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/DefaultMaven.java b/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
index d6f6e17..6954e9b 100644
--- a/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
+++ b/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
@@ -102,36 +102,31 @@ public class DefaultMaven
{
MavenExecutionResult result;
- synchronized ( RepositoryUtils.class )
+ try
{
- try
- {
- RepositoryUtils.legacyDependencyManagement = request.isLegacyDependencyManagementRequested();
- result = doExecute( request );
- }
- catch ( OutOfMemoryError e )
+ result = doExecute( request );
+ }
+ catch ( OutOfMemoryError e )
+ {
+ result = addExceptionToResult( new DefaultMavenExecutionResult(), e );
+ }
+ catch ( RuntimeException e )
+ {
+ // TODO Hack to make the cycle detection the same for the new graph builder
+ if ( e.getCause() instanceof ProjectCycleException )
{
- result = addExceptionToResult( new DefaultMavenExecutionResult(), e );
+ result = addExceptionToResult( new DefaultMavenExecutionResult(), e.getCause() );
}
- catch ( RuntimeException e )
- {
- // TODO Hack to make the cycle detection the same for the new graph builder
- if ( e.getCause() instanceof ProjectCycleException )
- {
- result = addExceptionToResult( new DefaultMavenExecutionResult(), e.getCause() );
- }
- else
- {
- result = addExceptionToResult( new DefaultMavenExecutionResult(),
- new InternalErrorException( "Internal error: " + e, e ) );
- }
- }
- finally
+ else
{
- legacySupport.setSession( null );
- RepositoryUtils.legacyDependencyManagement = false;
+ result = addExceptionToResult( new DefaultMavenExecutionResult(),
+ new InternalErrorException( "Internal error: " + e, e ) );
}
}
+ finally
+ {
+ legacySupport.setSession( null );
+ }
return result;
}
http://git-wip-us.apache.org/repos/asf/maven/blob/ae9c2269/maven-core/src/main/java/org/apache/maven/RepositoryUtils.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/RepositoryUtils.java b/maven-core/src/main/java/org/apache/maven/RepositoryUtils.java
index d844254..08749ea 100644
--- a/maven-core/src/main/java/org/apache/maven/RepositoryUtils.java
+++ b/maven-core/src/main/java/org/apache/maven/RepositoryUtils.java
@@ -55,15 +55,6 @@ import org.eclipse.aether.util.repository.AuthenticationBuilder;
public class RepositoryUtils
{
- /**
- * Package private field set on every invocation of the
- * {@link DefaultMaven#execute(org.apache.maven.execution.MavenExecutionRequest)}. A very good example for why
- * {@code public static} helper/utility/whatever methods are crap.
- *
- * @since 3.4.0
- */
- static boolean legacyDependencyManagement = false;
-
private static String nullify( String string )
{
return ( string == null || string.length() <= 0 ) ? null : string;
@@ -329,14 +320,14 @@ public class RepositoryUtils
exclusions.add( toExclusion( exclusion ) );
}
- return RepositoryUtils.legacyDependencyManagement
- ? new Dependency( artifact, dependency.getScope(), dependency.isOptional(), exclusions )
- : new Dependency( artifact, dependency.getScope(),
- dependency.getOptional() != null
- ? dependency.isOptional()
- : null,
- exclusions );
+ Dependency result = new Dependency( artifact,
+ dependency.getScope(),
+ dependency.getOptional() != null
+ ? dependency.isOptional()
+ : null,
+ exclusions );
+ return result;
}
private static Exclusion toExclusion( org.apache.maven.model.Exclusion exclusion )
http://git-wip-us.apache.org/repos/asf/maven/blob/ae9c2269/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequest.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequest.java b/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequest.java
index 769bd3b..d67061f 100644
--- a/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequest.java
+++ b/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequest.java
@@ -163,8 +163,6 @@ public class DefaultMavenExecutionRequest
private boolean useLegacyLocalRepositoryManager = false;
- private boolean legacyDependencyManagementRequested = false;
-
private Map<String, Object> data;
public DefaultMavenExecutionRequest()
@@ -212,7 +210,6 @@ public class DefaultMavenExecutionRequest
copy.setExecutionListener( original.getExecutionListener() );
copy.setUseLegacyLocalRepository( original.isUseLegacyLocalRepository() );
copy.setBuilderId( original.getBuilderId() );
- copy.setLegacyDependencyManagementRequested( original.isLegacyDependencyManagementRequested() );
return copy;
}
@@ -1108,9 +1105,6 @@ public class DefaultMavenExecutionRequest
projectBuildingRequest.setProfiles( getProfiles() );
projectBuildingRequest.setProcessPlugins( true );
projectBuildingRequest.setBuildStartTime( getStartTime() );
- projectBuildingRequest.
- setLegacyDependencyManagementRequested( this.isLegacyDependencyManagementRequested() );
-
}
return projectBuildingRequest;
@@ -1291,24 +1285,4 @@ public class DefaultMavenExecutionRequest
return data;
}
-
- /**
- * @since 3.4.0
- */
- @Override
- public boolean isLegacyDependencyManagementRequested()
- {
- return this.legacyDependencyManagementRequested;
- }
-
- /**
- * @since 3.4.0
- */
- @Override
- public MavenExecutionRequest setLegacyDependencyManagementRequested( final boolean value )
- {
- this.legacyDependencyManagementRequested = value;
- return this;
- }
-
}
http://git-wip-us.apache.org/repos/asf/maven/blob/ae9c2269/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionRequest.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionRequest.java b/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionRequest.java
index d758676..203b2b7 100644
--- a/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionRequest.java
+++ b/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionRequest.java
@@ -442,15 +442,4 @@ public interface MavenExecutionRequest
* @since 3.3.0
*/
Map<String, Object> getData();
-
- /**
- * @since 3.4.0
- */
- boolean isLegacyDependencyManagementRequested();
-
- /**
- * @since 3.4.0
- */
- MavenExecutionRequest setLegacyDependencyManagementRequested( boolean value );
-
}
http://git-wip-us.apache.org/repos/asf/maven/blob/ae9c2269/maven-core/src/main/java/org/apache/maven/internal/aether/DefaultRepositorySystemSessionFactory.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/internal/aether/DefaultRepositorySystemSessionFactory.java b/maven-core/src/main/java/org/apache/maven/internal/aether/DefaultRepositorySystemSessionFactory.java
index 0253b5b..248a3b6 100644
--- a/maven-core/src/main/java/org/apache/maven/internal/aether/DefaultRepositorySystemSessionFactory.java
+++ b/maven-core/src/main/java/org/apache/maven/internal/aether/DefaultRepositorySystemSessionFactory.java
@@ -58,7 +58,6 @@ import java.io.InputStream;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Properties;
-import org.eclipse.aether.util.graph.manager.ClassicDependencyManager;
/**
* @since 3.3.0
@@ -239,12 +238,6 @@ public class DefaultRepositorySystemSessionFactory
mavenRepositorySystem.injectProxy( session, request.getPluginArtifactRepositories() );
mavenRepositorySystem.injectAuthentication( session, request.getPluginArtifactRepositories() );
- if ( request.isLegacyDependencyManagementRequested() )
- {
- session.setDependencyManager( new ClassicDependencyManager() );
- session.getData().set( "maven.legacyDependencyManagement", Boolean.TRUE );
- }
-
return session;
}
http://git-wip-us.apache.org/repos/asf/maven/blob/ae9c2269/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java b/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java
index a10deac..9797191 100644
--- a/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java
+++ b/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java
@@ -271,7 +271,6 @@ public class DefaultProjectBuilder
request.setBuildStartTime( configuration.getBuildStartTime() );
request.setModelResolver( resolver );
request.setModelCache( config.modelCache );
- request.setLegacyDependencyManagementRequested( config.request.isLegacyDependencyManagementRequested() );
return request;
}
http://git-wip-us.apache.org/repos/asf/maven/blob/ae9c2269/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingRequest.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingRequest.java b/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingRequest.java
index fee94b7..d42da04 100644
--- a/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingRequest.java
+++ b/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingRequest.java
@@ -68,8 +68,6 @@ public class DefaultProjectBuildingRequest
private RepositoryMerging repositoryMerging = RepositoryMerging.POM_DOMINANT;
- private boolean legacyDependencyManagementRequested = false;
-
public DefaultProjectBuildingRequest()
{
processPlugins = true;
@@ -102,7 +100,6 @@ public class DefaultProjectBuildingRequest
setSystemProperties( request.getSystemProperties() );
setUserProperties( request.getUserProperties() );
setValidationLevel( request.getValidationLevel() );
- setLegacyDependencyManagementRequested( request.isLegacyDependencyManagementRequested() );
}
public MavenProject getProject()
@@ -347,23 +344,4 @@ public class DefaultProjectBuildingRequest
return repositoryMerging;
}
- /**
- * @since 3.4.0
- */
- @Override
- public boolean isLegacyDependencyManagementRequested()
- {
- return this.legacyDependencyManagementRequested;
- }
-
- /**
- * @since 3.4.0
- */
- @Override
- public ProjectBuildingRequest setLegacyDependencyManagementRequested( final boolean value )
- {
- this.legacyDependencyManagementRequested = value;
- return this;
- }
-
}
http://git-wip-us.apache.org/repos/asf/maven/blob/ae9c2269/maven-core/src/main/java/org/apache/maven/project/ProjectBuildingRequest.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/project/ProjectBuildingRequest.java b/maven-core/src/main/java/org/apache/maven/project/ProjectBuildingRequest.java
index 2dc854f..17a53b1 100644
--- a/maven-core/src/main/java/org/apache/maven/project/ProjectBuildingRequest.java
+++ b/maven-core/src/main/java/org/apache/maven/project/ProjectBuildingRequest.java
@@ -185,16 +185,6 @@ public interface ProjectBuildingRequest
ProjectBuildingRequest setResolveVersionRanges( boolean value );
/**
- * @since 3.4.0
- */
- boolean isLegacyDependencyManagementRequested();
-
- /**
- * @since 3.4.0
- */
- ProjectBuildingRequest setLegacyDependencyManagementRequested( boolean value );
-
- /**
* The possible merge modes for combining remote repositories.
*/
enum RepositoryMerging
http://git-wip-us.apache.org/repos/asf/maven/blob/ae9c2269/maven-embedder/src/main/java/org/apache/maven/cli/CLIManager.java
----------------------------------------------------------------------
diff --git a/maven-embedder/src/main/java/org/apache/maven/cli/CLIManager.java b/maven-embedder/src/main/java/org/apache/maven/cli/CLIManager.java
index 7c01ef7..f86f48b 100644
--- a/maven-embedder/src/main/java/org/apache/maven/cli/CLIManager.java
+++ b/maven-embedder/src/main/java/org/apache/maven/cli/CLIManager.java
@@ -99,8 +99,6 @@ public class CLIManager
public static final String LEGACY_LOCAL_REPOSITORY = "llr";
- public static final String LEGACY_DEPENDENCY_MANAGEMENT = "ldm";
-
public static final String BUILDER = "b";
protected Options options;
@@ -142,7 +140,6 @@ public class CLIManager
options.addOption( OptionBuilder.withLongOpt( "threads" ).hasArg().withDescription( "Thread count, for instance 2.0C where C is core multiplied" ).create( THREADS ) );
options.addOption( OptionBuilder.withLongOpt( "legacy-local-repository" ).withDescription( "Use Maven 2 Legacy Local Repository behaviour, ie no use of _remote.repositories. Can also be activated by using -Dmaven.legacyLocalRepo=true" ).create( LEGACY_LOCAL_REPOSITORY ) );
options.addOption( OptionBuilder.withLongOpt( "builder" ).hasArg().withDescription( "The id of the build strategy to use" ).create( BUILDER ) );
- options.addOption( OptionBuilder.withLongOpt( "legacy-dependency-management" ).withDescription( "Use Maven 2 legacy dependency management behaviour. Can also be activated by using -Dmaven.legacyDependencyManagement=true" ).create( LEGACY_DEPENDENCY_MANAGEMENT ) );
// Adding this back in for compatibility with the verifier that hard codes this option.
options.addOption( OptionBuilder.withLongOpt( "no-plugin-registry" ).withDescription( "Ineffective, only kept for backward compatibility" ).create( "npr" ) );
http://git-wip-us.apache.org/repos/asf/maven/blob/ae9c2269/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
----------------------------------------------------------------------
diff --git a/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java b/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
index 82cf766..90ff927 100644
--- a/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
+++ b/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
@@ -305,13 +305,13 @@ public class MavenCli
logging( cliRequest );
version( cliRequest );
properties( cliRequest );
- legacy( cliRequest );
localContainer = container( cliRequest );
commands( cliRequest );
configure( cliRequest );
toolchains( cliRequest );
populateRequest( cliRequest );
encryption( cliRequest );
+ repository( cliRequest );
profiles( cliRequest );
return execute( cliRequest );
}
@@ -908,7 +908,7 @@ public class MavenCli
}
}
- private void legacy( CliRequest cliRequest )
+ private void repository( CliRequest cliRequest )
throws Exception
{
if ( cliRequest.commandLine.hasOption( CLIManager.LEGACY_LOCAL_REPOSITORY )
@@ -916,11 +916,6 @@ public class MavenCli
{
cliRequest.request.setUseLegacyLocalRepository( true );
}
- if ( cliRequest.commandLine.hasOption( CLIManager.LEGACY_DEPENDENCY_MANAGEMENT )
- || Boolean.getBoolean( "maven.legacyDependencyManagement" ) )
- {
- cliRequest.request.setLegacyDependencyManagementRequested( true );
- }
}
private void profiles( final CliRequest request )
http://git-wip-us.apache.org/repos/asf/maven/blob/ae9c2269/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuildingRequest.java
----------------------------------------------------------------------
diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuildingRequest.java b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuildingRequest.java
index e9b36ba..84a68f7 100644
--- a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuildingRequest.java
+++ b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuildingRequest.java
@@ -73,8 +73,6 @@ public class DefaultModelBuildingRequest
private WorkspaceModelResolver workspaceResolver;
- private boolean legacyDependencyManagementRequested = false;
-
/**
* Creates an empty request.
*/
@@ -410,23 +408,4 @@ public class DefaultModelBuildingRequest
return this;
}
- /**
- * @since 3.4.0
- */
- @Override
- public boolean isLegacyDependencyManagementRequested()
- {
- return this.legacyDependencyManagementRequested;
- }
-
- /**
- * @since 3.4.0
- */
- @Override
- public ModelBuildingRequest setLegacyDependencyManagementRequested( final boolean value )
- {
- this.legacyDependencyManagementRequested = value;
- return this;
- }
-
}
http://git-wip-us.apache.org/repos/asf/maven/blob/ae9c2269/maven-model-builder/src/main/java/org/apache/maven/model/building/FilterModelBuildingRequest.java
----------------------------------------------------------------------
diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/building/FilterModelBuildingRequest.java b/maven-model-builder/src/main/java/org/apache/maven/model/building/FilterModelBuildingRequest.java
index 1717081..c5c2cbf 100644
--- a/maven-model-builder/src/main/java/org/apache/maven/model/building/FilterModelBuildingRequest.java
+++ b/maven-model-builder/src/main/java/org/apache/maven/model/building/FilterModelBuildingRequest.java
@@ -282,17 +282,4 @@ class FilterModelBuildingRequest
return this;
}
- @Override
- public boolean isLegacyDependencyManagementRequested()
- {
- return request.isLegacyDependencyManagementRequested();
- }
-
- @Override
- public ModelBuildingRequest setLegacyDependencyManagementRequested( final boolean value )
- {
- this.request.setLegacyDependencyManagementRequested( value );
- return this;
- }
-
-}
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/maven/blob/ae9c2269/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuildingRequest.java
----------------------------------------------------------------------
diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuildingRequest.java b/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuildingRequest.java
index c2c0caf..bc6d85d 100644
--- a/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuildingRequest.java
+++ b/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuildingRequest.java
@@ -339,14 +339,4 @@ public interface ModelBuildingRequest
ModelBuildingRequest setWorkspaceModelResolver( WorkspaceModelResolver workspaceResolver );
- /**
- * @since 3.4.0
- */
- boolean isLegacyDependencyManagementRequested();
-
- /**
- * @since 3.4.0
- */
- ModelBuildingRequest setLegacyDependencyManagementRequested( boolean value );
-
}
http://git-wip-us.apache.org/repos/asf/maven/blob/ae9c2269/maven-model-builder/src/main/java/org/apache/maven/model/management/DefaultDependencyManagementInjector.java
----------------------------------------------------------------------
diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/management/DefaultDependencyManagementInjector.java b/maven-model-builder/src/main/java/org/apache/maven/model/management/DefaultDependencyManagementInjector.java
index 02f6bb6..731cdd8 100644
--- a/maven-model-builder/src/main/java/org/apache/maven/model/management/DefaultDependencyManagementInjector.java
+++ b/maven-model-builder/src/main/java/org/apache/maven/model/management/DefaultDependencyManagementInjector.java
@@ -43,29 +43,18 @@ public class DefaultDependencyManagementInjector
implements DependencyManagementInjector
{
+ private ManagementModelMerger merger = new ManagementModelMerger();
+
@Override
public void injectManagement( Model model, ModelBuildingRequest request, ModelProblemCollector problems )
{
- new ManagementModelMerger( request.isLegacyDependencyManagementRequested() ).mergeManagedDependencies( model );
+ merger.mergeManagedDependencies( model );
}
protected static class ManagementModelMerger
extends MavenModelMerger
{
- private final boolean legacyDependencyManagementRequested;
-
- ManagementModelMerger()
- {
- this( true );
- }
-
- ManagementModelMerger( final boolean legacyDependencyManagementRequested )
- {
- super();
- this.legacyDependencyManagementRequested = legacyDependencyManagementRequested;
- }
-
public void mergeManagedDependencies( Model model )
{
DependencyManagement dependencyManagement = model.getDependencyManagement();
@@ -93,16 +82,6 @@ public class DefaultDependencyManagementInjector
}
@Override
- protected void mergeDependency_Optional( Dependency target, Dependency source, boolean sourceDominant,
- Map<Object, Object> context )
- {
- if ( !this.legacyDependencyManagementRequested )
- {
- super.mergeDependency_Optional( target, source, sourceDominant, context );
- }
- }
-
- @Override
protected void mergeDependency_Exclusions( Dependency target, Dependency source, boolean sourceDominant,
Map<Object, Object> context )
{
http://git-wip-us.apache.org/repos/asf/maven/blob/ae9c2269/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/ArtifactDescriptorReaderDelegate.java
----------------------------------------------------------------------
diff --git a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/ArtifactDescriptorReaderDelegate.java b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/ArtifactDescriptorReaderDelegate.java
index e494b1d..284ee86 100644
--- a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/ArtifactDescriptorReaderDelegate.java
+++ b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/ArtifactDescriptorReaderDelegate.java
@@ -62,7 +62,7 @@ public class ArtifactDescriptorReaderDelegate
for ( org.apache.maven.model.Dependency dependency : model.getDependencies() )
{
- result.addDependency( convert( session, dependency, stereotypes ) );
+ result.addDependency( convert( dependency, stereotypes ) );
}
DependencyManagement mngt = model.getDependencyManagement();
@@ -70,7 +70,7 @@ public class ArtifactDescriptorReaderDelegate
{
for ( org.apache.maven.model.Dependency dependency : mngt.getDependencies() )
{
- result.addManagedDependency( convert( session, dependency, stereotypes ) );
+ result.addManagedDependency( convert( dependency, stereotypes ) );
}
}
@@ -98,8 +98,7 @@ public class ArtifactDescriptorReaderDelegate
setArtifactProperties( result, model );
}
- private Dependency convert( RepositorySystemSession session, org.apache.maven.model.Dependency dependency,
- ArtifactTypeRegistry stereotypes )
+ private Dependency convert( org.apache.maven.model.Dependency dependency, ArtifactTypeRegistry stereotypes )
{
ArtifactType stereotype = stereotypes.get( dependency.getType() );
if ( stereotype == null )
@@ -125,13 +124,11 @@ public class ArtifactDescriptorReaderDelegate
exclusions.add( convert( exclusion ) );
}
- final Dependency result =
- session.getData().get( "maven.legacyDependencyManagement" ) != null
- ? new Dependency( artifact, dependency.getScope(), dependency.isOptional(), exclusions )
- : new Dependency( artifact, dependency.getScope(), dependency.getOptional() != null
- ? dependency.isOptional()
- : null,
- exclusions );
+ Dependency result = new Dependency( artifact, dependency.getScope(),
+ dependency.getOptional() != null
+ ? dependency.isOptional()
+ : null,
+ exclusions );
return result;
}