[06/13] maven git commit: [MNG-4347] import-scoped dependencies of direct dependencies are not resolved using profile modifications from settings.xml
[MNG-4347] import-scoped dependencies of direct dependencies are not resolved using profile modifications from settings.xml o Updated the 'DefaultModelResolver' to handle replacing repositories the same way the 'DefaultDependencyCollector' does. When the 'DefaultDependencyCollector' finds a repository in a child node with an id matching a repository already in use, it will only merge any mirror definitions but never change the repository already in use. The 'DefaultModelResolver' needs to follow the same logic. What has been provided must not change for consistency. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/1629343b Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/1629343b Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/1629343b Branch: refs/heads/DEPMGMT Commit: 1629343ba1021f0e772a89053366af20cd3c2cb4 Parents: a8c7bbf Author: Christian Schulte Authored: Tue Dec 13 03:30:32 2016 +0100 Committer: Christian Schulte Committed: Sun Feb 5 00:16:20 2017 +0100 -- .../maven/repository/internal/DefaultModelResolver.java | 12 ++-- 1 file changed, 10 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/1629343b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java -- diff --git a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java index 260a770..0cc5b17 100644 --- a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java +++ b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java @@ -71,6 +71,8 @@ class DefaultModelResolver private final List externalRepositories; +private final Set externalRepositoryIds; + private final ArtifactResolver resolver; private final VersionRangeResolver versionRangeResolver; @@ -93,8 +95,13 @@ class DefaultModelResolver List externalRepositories = new ArrayList<>(); externalRepositories.addAll( repositories ); this.externalRepositories = Collections.unmodifiableList( externalRepositories ); - this.repositoryIds = new HashSet<>(); +this.externalRepositoryIds = new HashSet<>(); +for ( final RemoteRepository repository : this.repositories ) +{ +this.repositoryIds.add( repository.getId() ); +this.externalRepositoryIds.add( repository.getId() ); +} } private DefaultModelResolver( DefaultModelResolver original ) @@ -108,6 +115,7 @@ class DefaultModelResolver this.repositories = new ArrayList<>( original.repositories ); this.externalRepositories = original.externalRepositories; this.repositoryIds = new HashSet<>( original.repositoryIds ); +this.externalRepositoryIds = new HashSet<>( original.externalRepositoryIds ); } @Override @@ -128,7 +136,7 @@ class DefaultModelResolver if ( !repositoryIds.add( repository.getId() ) ) { -if ( !replace ) +if ( !replace || this.externalRepositoryIds.contains( repository.getId() ) ) { return; }
[10/13] maven git commit: [MNG-6135] Maven plugins and core extensions are not dependencies, they should be resolved the same way as projects.
[MNG-6135] Maven plugins and core extensions are not dependencies, they should be resolved the same way as projects. o Updated to use the '' element to decide the style of resolution as discussed on dev@. Plugins with prerequisites >= 3.6 get the correct resolution, all other plugins will be resolved with direct 'test' and 'provided' dependencies ignored but direct 'optional' dependencies. o During working on MNG-6135, it turned out that plugin dependency management also is applied to the dependencies declared for a plugin using the 'plugins/plugin/dependencies/dependency' element. Dependencies declared that way must not be overridden by any management. I added management for 'plexus-utils' in the core IT suite. This immediately made the ITs for MNG-4276 and MNG-4274 fail, because 'plexus-utils' got subject to management although a different version has been declared in the plugin declaration. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/c252bdd8 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/c252bdd8 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/c252bdd8 Branch: refs/heads/DEPMGMT Commit: c252bdd876ab2479c8c243723458119d330d2e11 Parents: 864348b Author: Christian Schulte Authored: Sat Dec 17 03:07:04 2016 +0100 Committer: Christian Schulte Committed: Sun Feb 5 00:16:47 2017 +0100 -- .../java/org/apache/maven/RepositoryUtils.java | 12 +- .../DefaultPluginDependenciesResolver.java | 370 --- .../plugin/internal/PlexusUtilsInjector.java| 30 +- .../maven/plugin/internal/WagonExcluder.java| 14 +- 4 files changed, 344 insertions(+), 82 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/c252bdd8/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 52442b7..08749ea 100644 --- a/maven-core/src/main/java/org/apache/maven/RepositoryUtils.java +++ b/maven-core/src/main/java/org/apache/maven/RepositoryUtils.java @@ -114,12 +114,16 @@ public class RepositoryUtils List nodeTrail = new ArrayList<>( trail.size() + 1 ); nodeTrail.addAll( trail ); -nodeTrail.add( artifact.getId() ); -if ( filter == null || filter.accept( node, Collections.emptyList() ) ) +if ( artifact != null ) { -artifact.setDependencyTrail( nodeTrail ); -artifacts.add( artifact ); +nodeTrail.add( artifact.getId() ); + +if ( filter == null || filter.accept( node, Collections.emptyList() ) ) +{ +artifact.setDependencyTrail( nodeTrail ); +artifacts.add( artifact ); +} } toArtifacts( artifacts, node.getChildren(), nodeTrail, filter ); http://git-wip-us.apache.org/repos/asf/maven/blob/c252bdd8/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 b79b15f..80fd80d 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 @@ -20,10 +20,11 @@ package org.apache.maven.plugin.internal; */ import java.util.LinkedHashMap; +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; @@ -37,8 +38,11 @@ import org.eclipse.aether.RequestTrace; import org.eclipse.aether.artifact.Artifact; import org.eclipse.aether.artifact.DefaultArtifact; import org.eclipse.aether.collection.CollectRequest; +import org.eclipse.aether.collection.DependencyCollectionContext; import org.eclipse.aether.collection.DependencyCollectionException; import org.eclipse.aether.collection.DependencyGraphTransformer; +import org.eclipse.aether.collection.DependencyManagement; +import org.eclipse.aether.collection.DependencyManager; import org.eclipse.aether.collection.DependencySelector; import org.eclipse.aether.graph.DependencyFilter; import org.eclipse.aether.graph.DependencyN
[11/13] maven git commit: [MNG-5761] Dependency management is not transitive.
[MNG-5761] Dependency management is not transitive. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/864348b9 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/864348b9 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/864348b9 Branch: refs/heads/DEPMGMT Commit: 864348b9870f36b3973ab055974e0e47c1781486 Parents: 24009a2 Author: Christian Schulte Authored: Tue Dec 13 22:35:13 2016 +0100 Committer: Christian Schulte Committed: Sun Feb 5 00:16:47 2017 +0100 -- .../maven/artifact/AbstractArtifactComponentTestCase.java | 4 ++-- .../maven/repository/internal/MavenRepositorySystemUtils.java | 5 ++--- 2 files changed, 4 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/864348b9/maven-compat/src/test/java/org/apache/maven/artifact/AbstractArtifactComponentTestCase.java -- diff --git a/maven-compat/src/test/java/org/apache/maven/artifact/AbstractArtifactComponentTestCase.java b/maven-compat/src/test/java/org/apache/maven/artifact/AbstractArtifactComponentTestCase.java index 0cdea19..8e054e5 100644 --- a/maven-compat/src/test/java/org/apache/maven/artifact/AbstractArtifactComponentTestCase.java +++ b/maven-compat/src/test/java/org/apache/maven/artifact/AbstractArtifactComponentTestCase.java @@ -39,7 +39,7 @@ import org.eclipse.aether.collection.DependencySelector; import org.eclipse.aether.collection.DependencyTraverser; import org.eclipse.aether.internal.impl.SimpleLocalRepositoryManagerFactory; import org.eclipse.aether.repository.LocalRepository; -import org.eclipse.aether.util.graph.manager.ClassicDependencyManager; +import org.eclipse.aether.util.graph.manager.TransitiveDependencyManager; import org.eclipse.aether.util.graph.selector.AndDependencySelector; import org.eclipse.aether.util.graph.selector.ExclusionDependencySelector; import org.eclipse.aether.util.graph.selector.OptionalDependencySelector; @@ -349,7 +349,7 @@ public abstract class AbstractArtifactComponentTestCase DependencyTraverser depTraverser = new FatArtifactTraverser(); session.setDependencyTraverser( depTraverser ); -DependencyManager depManager = new ClassicDependencyManager(); +DependencyManager depManager = new TransitiveDependencyManager(); session.setDependencyManager( depManager ); DependencySelector depFilter = new AndDependencySelector( new ScopeDependencySelector( "test", "provided" ), http://git-wip-us.apache.org/repos/asf/maven/blob/864348b9/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/MavenRepositorySystemUtils.java -- diff --git a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/MavenRepositorySystemUtils.java b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/MavenRepositorySystemUtils.java index 1b11cb3..f6aeb11 100644 --- a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/MavenRepositorySystemUtils.java +++ b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/MavenRepositorySystemUtils.java @@ -20,7 +20,6 @@ package org.apache.maven.repository.internal; */ import java.util.Properties; - import org.eclipse.aether.DefaultRepositorySystemSession; import org.eclipse.aether.artifact.DefaultArtifactType; import org.eclipse.aether.collection.DependencyGraphTransformer; @@ -33,7 +32,7 @@ import org.eclipse.aether.impl.MetadataGeneratorFactory; import org.eclipse.aether.impl.VersionRangeResolver; import org.eclipse.aether.impl.VersionResolver; import org.eclipse.aether.util.artifact.DefaultArtifactTypeRegistry; -import org.eclipse.aether.util.graph.manager.ClassicDependencyManager; +import org.eclipse.aether.util.graph.manager.TransitiveDependencyManager; import org.eclipse.aether.util.graph.selector.AndDependencySelector; import org.eclipse.aether.util.graph.selector.ExclusionDependencySelector; import org.eclipse.aether.util.graph.selector.OptionalDependencySelector; @@ -95,7 +94,7 @@ public final class MavenRepositorySystemUtils DependencyTraverser depTraverser = new FatArtifactTraverser(); session.setDependencyTraverser( depTraverser ); -DependencyManager depManager = new ClassicDependencyManager(); +DependencyManager depManager = new TransitiveDependencyManager(); session.setDependencyManager( depManager ); DependencySelector depFilter =
[04/13] maven git commit: o Updated version to 3.6.0-SNAPSHOT to make the ITs run.
o Updated version to 3.6.0-SNAPSHOT to make the ITs run. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/ebef3713 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/ebef3713 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/ebef3713 Branch: refs/heads/DEPMGMT Commit: ebef3713010416296b88029b8995762b40860f8c Parents: 0b11c2c Author: Christian Schulte Authored: Tue Jan 31 03:15:47 2017 +0100 Committer: Christian Schulte Committed: Sun Feb 5 00:16:20 2017 +0100 -- apache-maven/pom.xml | 2 +- maven-artifact/pom.xml| 2 +- maven-builder-support/pom.xml | 2 +- maven-compat/pom.xml | 2 +- maven-core/pom.xml| 2 +- maven-embedder/pom.xml| 2 +- maven-model-builder/pom.xml | 2 +- maven-model/pom.xml | 2 +- maven-plugin-api/pom.xml | 2 +- maven-repository-metadata/pom.xml | 2 +- maven-resolver-provider/pom.xml | 2 +- maven-settings-builder/pom.xml| 2 +- maven-settings/pom.xml| 2 +- maven-slf4j-provider/pom.xml | 2 +- pom.xml | 2 +- 15 files changed, 15 insertions(+), 15 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/ebef3713/apache-maven/pom.xml -- diff --git a/apache-maven/pom.xml b/apache-maven/pom.xml index d313f80..2c52eb0 100644 --- a/apache-maven/pom.xml +++ b/apache-maven/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.1-SNAPSHOT +3.6.0-SNAPSHOT apache-maven http://git-wip-us.apache.org/repos/asf/maven/blob/ebef3713/maven-artifact/pom.xml -- diff --git a/maven-artifact/pom.xml b/maven-artifact/pom.xml index b13482b..089f4ac 100644 --- a/maven-artifact/pom.xml +++ b/maven-artifact/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.1-SNAPSHOT +3.6.0-SNAPSHOT maven-artifact http://git-wip-us.apache.org/repos/asf/maven/blob/ebef3713/maven-builder-support/pom.xml -- diff --git a/maven-builder-support/pom.xml b/maven-builder-support/pom.xml index 5eb7903..6ca5ca2 100644 --- a/maven-builder-support/pom.xml +++ b/maven-builder-support/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.1-SNAPSHOT +3.6.0-SNAPSHOT maven-builder-support http://git-wip-us.apache.org/repos/asf/maven/blob/ebef3713/maven-compat/pom.xml -- diff --git a/maven-compat/pom.xml b/maven-compat/pom.xml index b06d3f3..d4f53bd 100644 --- a/maven-compat/pom.xml +++ b/maven-compat/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.1-SNAPSHOT +3.6.0-SNAPSHOT maven-compat http://git-wip-us.apache.org/repos/asf/maven/blob/ebef3713/maven-core/pom.xml -- diff --git a/maven-core/pom.xml b/maven-core/pom.xml index b10b329..4fdbe8a 100644 --- a/maven-core/pom.xml +++ b/maven-core/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.1-SNAPSHOT +3.6.0-SNAPSHOT maven-core http://git-wip-us.apache.org/repos/asf/maven/blob/ebef3713/maven-embedder/pom.xml -- diff --git a/maven-embedder/pom.xml b/maven-embedder/pom.xml index 66e09a3..918d7d3 100644 --- a/maven-embedder/pom.xml +++ b/maven-embedder/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.1-SNAPSHOT +3.6.0-SNAPSHOT maven-embedder http://git-wip-us.apache.org/repos/asf/maven/blob/ebef3713/maven-model-builder/pom.xml -- diff --git a/maven-model-builder/pom.xml b/maven-model-builder/pom.xml index 7cef99b..b645576 100644 --- a/maven-model-builder/pom.xml +++ b/maven-model-builder/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.1-SNAPSHOT +3.6.0-SNAPSHOT maven-model-builder http://git-wip-us.apache.org/repos/asf/maven/blob/ebef3713/maven-model/pom.xml -- diff --git a/maven-model/pom.xml b/maven-model/pom.xml index aabb25d..0ed9879 100644 --- a/maven-model/pom.xml +++ b/maven-model/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.1-SNAPSHOT +3.6.0-SNAPSHOT maven-model http://git-wip-us.apache.org/repos/asf/maven/blob/ebef3713/maven-plugin-api/pom.xml ---
[07/13] maven git commit: [MNG-5639] Support resolution of Import Scope POMs from Repo that contains a ${parameter}
[MNG-5639] Support resolution of Import Scope POMs from Repo that contains a ${parameter} o Updated to stop replacing external repositories when repository merging is set to REQUEST_DOMINANT. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/9afcd232 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/9afcd232 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/9afcd232 Branch: refs/heads/DEPMGMT Commit: 9afcd232a111784dee2eaca3ba5d7114e53ac700 Parents: 1629343 Author: Christian Schulte Authored: Tue Dec 13 20:16:20 2016 +0100 Committer: Christian Schulte Committed: Sun Feb 5 00:16:20 2017 +0100 -- .../project/DefaultProjectBuildingRequest.java | 19 +++ .../maven/project/ProjectModelResolver.java | 12 +++- 2 files changed, 22 insertions(+), 9 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/9afcd232/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 dafbefd..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 @@ -80,22 +80,25 @@ public class DefaultProjectBuildingRequest pluginArtifactRepositories = new ArrayList<>(); } +@SuppressWarnings( "deprecation" ) public DefaultProjectBuildingRequest( ProjectBuildingRequest request ) { this(); -setProcessPlugins( request.isProcessPlugins() ); -setProfiles( request.getProfiles() ); setActiveProfileIds( request.getActiveProfileIds() ); +setBuildStartTime( request.getBuildStartTime() ); setInactiveProfileIds( request.getInactiveProfileIds() ); -setSystemProperties( request.getSystemProperties() ); -setUserProperties( request.getUserProperties() ); -setRemoteRepositories( request.getRemoteRepositories() ); -setPluginArtifactRepositories( request.getPluginArtifactRepositories() ); -setRepositorySession( request.getRepositorySession() ); setLocalRepository( request.getLocalRepository() ); -setBuildStartTime( request.getBuildStartTime() ); +setPluginArtifactRepositories( request.getPluginArtifactRepositories() ); +setProcessPlugins( request.isProcessPlugins() ); +setProfiles( request.getProfiles() ); setProject( request.getProject() ); +setRemoteRepositories( request.getRemoteRepositories() ); +setRepositoryMerging( request.getRepositoryMerging() ); +setRepositorySession( request.getRepositorySession() ); setResolveDependencies( request.isResolveDependencies() ); +setResolveVersionRanges( request.isResolveVersionRanges() ); +setSystemProperties( request.getSystemProperties() ); +setUserProperties( request.getUserProperties() ); setValidationLevel( request.getValidationLevel() ); } http://git-wip-us.apache.org/repos/asf/maven/blob/9afcd232/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java -- diff --git a/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java b/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java index e5aa052..90cb599 100644 --- a/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java +++ b/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java @@ -79,6 +79,8 @@ public class ProjectModelResolver private final Set repositoryIds; +private final Set externalRepositoryIds; + private final ReactorModelPool modelPool; private final ProjectBuildingRequest.RepositoryMerging repositoryMerging; @@ -100,7 +102,13 @@ public class ProjectModelResolver this.repositories.addAll( externalRepositories ); this.repositoryMerging = repositoryMerging; this.repositoryIds = new HashSet<>(); +this.externalRepositoryIds = new HashSet<>(); this.modelPool = modelPool; +for ( final RemoteRepository repository : repositories ) +{ +this.repositoryIds.add( repository.getId() ); +this.externalRepositoryIds.add( repository.getId() ); +} } private ProjectModelResolver( ProjectModelResolver original ) @@ -114,6 +122,7 @@ public class ProjectModelResolver this.repositories = new ArrayList<>( original.repositories );
[12/13] maven git commit: [MNG-5227] The 'optional' flag of a dependency should be manageable.
[MNG-5227] The 'optional' flag of a dependency should be manageable. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/412106d0 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/412106d0 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/412106d0 Branch: refs/heads/DEPMGMT Commit: 412106d0d483a9eac55a6fe78d0f96ef91625299 Parents: 6bd6a14 Author: Christian Schulte Authored: Wed Jan 27 03:46:11 2016 +0100 Committer: Christian Schulte Committed: Sun Feb 5 00:16:47 2017 +0100 -- .../maven/project/DefaultProjectDependenciesResolver.java| 8 .../management/DefaultDependencyManagementInjector.java | 7 --- 2 files changed, 8 insertions(+), 7 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/412106d0/maven-core/src/main/java/org/apache/maven/project/DefaultProjectDependenciesResolver.java -- diff --git a/maven-core/src/main/java/org/apache/maven/project/DefaultProjectDependenciesResolver.java b/maven-core/src/main/java/org/apache/maven/project/DefaultProjectDependenciesResolver.java index 2486057..0a3867e 100644 --- a/maven-core/src/main/java/org/apache/maven/project/DefaultProjectDependenciesResolver.java +++ b/maven-core/src/main/java/org/apache/maven/project/DefaultProjectDependenciesResolver.java @@ -273,6 +273,14 @@ public class DefaultProjectDependenciesResolver appendManagementSource( buffer, art, "version" ); buffer.append( ")" ); } + +Boolean premanagedOptional = DependencyManagerUtils.getPremanagedOptional( node ); +if ( premanagedOptional != null && !premanagedOptional.equals( dep.getOptional() ) ) +{ +buffer.append( " (optionality managed from " ).append( premanagedOptional ); +appendManagementSource( buffer, art, "optional" ); +buffer.append( ')' ); +} } else { http://git-wip-us.apache.org/repos/asf/maven/blob/412106d0/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 e611973..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 @@ -82,13 +82,6 @@ public class DefaultDependencyManagementInjector } @Override -protected void mergeDependency_Optional( Dependency target, Dependency source, boolean sourceDominant, - Map context ) -{ -// optional flag is not managed -} - -@Override protected void mergeDependency_Exclusions( Dependency target, Dependency source, boolean sourceDominant, Map context ) {
[08/13] maven git commit: [MNG-1577] dependencyManagement does not work for transitive dependencies
[MNG-1577] dependencyManagement does not work for transitive dependencies o Updated to correct an incorrect test case. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/24009a28 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/24009a28 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/24009a28 Branch: refs/heads/DEPMGMT Commit: 24009a287a1276a3577ea4ed2dc732272af7456e Parents: 46ba9de Author: Christian Schulte Authored: Wed Feb 3 19:17:02 2016 +0100 Committer: Christian Schulte Committed: Sun Feb 5 00:16:47 2017 +0100 -- maven-compat/src/test/resources/inheritance-repo/t06/p0/p1/pom.xml | 2 -- maven-compat/src/test/resources/inheritance-repo/t06/p0/pom.xml| 2 -- 2 files changed, 4 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/24009a28/maven-compat/src/test/resources/inheritance-repo/t06/p0/p1/pom.xml -- diff --git a/maven-compat/src/test/resources/inheritance-repo/t06/p0/p1/pom.xml b/maven-compat/src/test/resources/inheritance-repo/t06/p0/p1/pom.xml index 4686219..2ac9544 100644 --- a/maven-compat/src/test/resources/inheritance-repo/t06/p0/p1/pom.xml +++ b/maven-compat/src/test/resources/inheritance-repo/t06/p0/p1/pom.xml @@ -24,8 +24,6 @@ maven-test t06-d 1.0 -test -false http://git-wip-us.apache.org/repos/asf/maven/blob/24009a28/maven-compat/src/test/resources/inheritance-repo/t06/p0/pom.xml -- diff --git a/maven-compat/src/test/resources/inheritance-repo/t06/p0/pom.xml b/maven-compat/src/test/resources/inheritance-repo/t06/p0/pom.xml index 60c540c..6a66cd1 100644 --- a/maven-compat/src/test/resources/inheritance-repo/t06/p0/pom.xml +++ b/maven-compat/src/test/resources/inheritance-repo/t06/p0/pom.xml @@ -29,8 +29,6 @@ maven-test t06-d 1.2 -test -false
[13/13] maven git commit: [MNG-5935] Optional true getting lost in managed dependencies when transitive
[MNG-5935] Optional true getting lost in managed dependencies when transitive Updated to correctly map the optional flag of Maven model dependencies to Aether dependencies. Prior to this change all managed dependencies implicitly had the optional flag set to 'false' leading to Aether managing that flag to 'false' on all managed dependencies when transitive. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/46ba9de7 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/46ba9de7 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/46ba9de7 Branch: refs/heads/DEPMGMT Commit: 46ba9de74e8c48d61b8fa03800e238c3c82203d6 Parents: 412106d Author: Christian Schulte Authored: Thu Feb 11 08:45:19 2016 +0100 Committer: Christian Schulte Committed: Sun Feb 5 00:16:47 2017 +0100 -- .../src/main/java/org/apache/maven/RepositoryUtils.java | 7 ++- .../repository/internal/ArtifactDescriptorReaderDelegate.java | 6 +- 2 files changed, 11 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/46ba9de7/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 86eab4e..52442b7 100644 --- a/maven-core/src/main/java/org/apache/maven/RepositoryUtils.java +++ b/maven-core/src/main/java/org/apache/maven/RepositoryUtils.java @@ -316,7 +316,12 @@ public class RepositoryUtils exclusions.add( toExclusion( exclusion ) ); } -Dependency result = new Dependency( artifact, dependency.getScope(), dependency.isOptional(), exclusions ); +Dependency result = new Dependency( artifact, +dependency.getScope(), +dependency.getOptional() != null +? dependency.isOptional() +: null, +exclusions ); return result; } http://git-wip-us.apache.org/repos/asf/maven/blob/46ba9de7/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 53c0475..a5e2ffd 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 @@ -124,7 +124,11 @@ public class ArtifactDescriptorReaderDelegate exclusions.add( convert( exclusion ) ); } -Dependency result = new Dependency( artifact, dependency.getScope(), dependency.isOptional(), exclusions ); +Dependency result = new Dependency( artifact, dependency.getScope(), +dependency.getOptional() != null +? dependency.isOptional() +: null, +exclusions ); return result; }
[02/13] maven git commit: o Updated to 3.5.1-SNAPSHOT to make the ITs run.
o Updated to 3.5.1-SNAPSHOT to make the ITs run. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/a8c7bbfc Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/a8c7bbfc Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/a8c7bbfc Branch: refs/heads/DEPMGMT Commit: a8c7bbfcc858b5fbe4214f932e2a671d3b284be1 Parents: cfbc0e8 Author: Christian Schulte Authored: Tue Jan 31 03:17:58 2017 +0100 Committer: Christian Schulte Committed: Sun Feb 5 00:15:38 2017 +0100 -- apache-maven/pom.xml | 2 +- maven-artifact/pom.xml| 2 +- maven-builder-support/pom.xml | 2 +- maven-compat/pom.xml | 2 +- maven-core/pom.xml| 2 +- maven-embedder/pom.xml| 2 +- maven-model-builder/pom.xml | 2 +- maven-model/pom.xml | 2 +- maven-plugin-api/pom.xml | 2 +- maven-repository-metadata/pom.xml | 2 +- maven-resolver-provider/pom.xml | 2 +- maven-settings-builder/pom.xml| 2 +- maven-settings/pom.xml| 2 +- maven-slf4j-provider/pom.xml | 2 +- pom.xml | 2 +- 15 files changed, 15 insertions(+), 15 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/a8c7bbfc/apache-maven/pom.xml -- diff --git a/apache-maven/pom.xml b/apache-maven/pom.xml index 6fc5a73..d313f80 100644 --- a/apache-maven/pom.xml +++ b/apache-maven/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT apache-maven http://git-wip-us.apache.org/repos/asf/maven/blob/a8c7bbfc/maven-artifact/pom.xml -- diff --git a/maven-artifact/pom.xml b/maven-artifact/pom.xml index e3943c9..b13482b 100644 --- a/maven-artifact/pom.xml +++ b/maven-artifact/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT maven-artifact http://git-wip-us.apache.org/repos/asf/maven/blob/a8c7bbfc/maven-builder-support/pom.xml -- diff --git a/maven-builder-support/pom.xml b/maven-builder-support/pom.xml index 39eb161..5eb7903 100644 --- a/maven-builder-support/pom.xml +++ b/maven-builder-support/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT maven-builder-support http://git-wip-us.apache.org/repos/asf/maven/blob/a8c7bbfc/maven-compat/pom.xml -- diff --git a/maven-compat/pom.xml b/maven-compat/pom.xml index 2b205f7..b06d3f3 100644 --- a/maven-compat/pom.xml +++ b/maven-compat/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT maven-compat http://git-wip-us.apache.org/repos/asf/maven/blob/a8c7bbfc/maven-core/pom.xml -- diff --git a/maven-core/pom.xml b/maven-core/pom.xml index 95162bd..b10b329 100644 --- a/maven-core/pom.xml +++ b/maven-core/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT maven-core http://git-wip-us.apache.org/repos/asf/maven/blob/a8c7bbfc/maven-embedder/pom.xml -- diff --git a/maven-embedder/pom.xml b/maven-embedder/pom.xml index 30ad2ce..66e09a3 100644 --- a/maven-embedder/pom.xml +++ b/maven-embedder/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT maven-embedder http://git-wip-us.apache.org/repos/asf/maven/blob/a8c7bbfc/maven-model-builder/pom.xml -- diff --git a/maven-model-builder/pom.xml b/maven-model-builder/pom.xml index fbfd417..7cef99b 100644 --- a/maven-model-builder/pom.xml +++ b/maven-model-builder/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT maven-model-builder http://git-wip-us.apache.org/repos/asf/maven/blob/a8c7bbfc/maven-model/pom.xml -- diff --git a/maven-model/pom.xml b/maven-model/pom.xml index 41cf168..aabb25d 100644 --- a/maven-model/pom.xml +++ b/maven-model/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT maven-model http://git-wip-us.apache.org/repos/asf/maven/blob/a8c7bbfc/maven-plugin-api/pom.xml ---
[7/7] maven git commit: [MNG-4347] import-scoped dependencies of direct dependencies are not resolved using profile modifications from settings.xml
[MNG-4347] import-scoped dependencies of direct dependencies are not resolved using profile modifications from settings.xml o Updated the 'DefaultModelResolver' to handle replacing repositories the same way the 'DefaultDependencyCollector' does. When the 'DefaultDependencyCollector' finds a repository in a child node with an id matching a repository already in use, it will only merge any mirror definitions but never change the repository already in use. The 'DefaultModelResolver' needs to follow the same logic. What has been provided must not change for consistency. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/1629343b Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/1629343b Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/1629343b Branch: refs/heads/DEPMGMT-INCLUDE Commit: 1629343ba1021f0e772a89053366af20cd3c2cb4 Parents: a8c7bbf Author: Christian Schulte Authored: Tue Dec 13 03:30:32 2016 +0100 Committer: Christian Schulte Committed: Sun Feb 5 00:16:20 2017 +0100 -- .../maven/repository/internal/DefaultModelResolver.java | 12 ++-- 1 file changed, 10 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/1629343b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java -- diff --git a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java index 260a770..0cc5b17 100644 --- a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java +++ b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java @@ -71,6 +71,8 @@ class DefaultModelResolver private final List externalRepositories; +private final Set externalRepositoryIds; + private final ArtifactResolver resolver; private final VersionRangeResolver versionRangeResolver; @@ -93,8 +95,13 @@ class DefaultModelResolver List externalRepositories = new ArrayList<>(); externalRepositories.addAll( repositories ); this.externalRepositories = Collections.unmodifiableList( externalRepositories ); - this.repositoryIds = new HashSet<>(); +this.externalRepositoryIds = new HashSet<>(); +for ( final RemoteRepository repository : this.repositories ) +{ +this.repositoryIds.add( repository.getId() ); +this.externalRepositoryIds.add( repository.getId() ); +} } private DefaultModelResolver( DefaultModelResolver original ) @@ -108,6 +115,7 @@ class DefaultModelResolver this.repositories = new ArrayList<>( original.repositories ); this.externalRepositories = original.externalRepositories; this.repositoryIds = new HashSet<>( original.repositoryIds ); +this.externalRepositoryIds = new HashSet<>( original.externalRepositoryIds ); } @Override @@ -128,7 +136,7 @@ class DefaultModelResolver if ( !repositoryIds.add( repository.getId() ) ) { -if ( !replace ) +if ( !replace || this.externalRepositoryIds.contains( repository.getId() ) ) { return; }
[6/7] maven git commit: o Updated version to 3.6.0-SNAPSHOT to make the ITs run.
o Updated version to 3.6.0-SNAPSHOT to make the ITs run. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/ebef3713 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/ebef3713 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/ebef3713 Branch: refs/heads/DEPMGMT-INCLUDE Commit: ebef3713010416296b88029b8995762b40860f8c Parents: 0b11c2c Author: Christian Schulte Authored: Tue Jan 31 03:15:47 2017 +0100 Committer: Christian Schulte Committed: Sun Feb 5 00:16:20 2017 +0100 -- apache-maven/pom.xml | 2 +- maven-artifact/pom.xml| 2 +- maven-builder-support/pom.xml | 2 +- maven-compat/pom.xml | 2 +- maven-core/pom.xml| 2 +- maven-embedder/pom.xml| 2 +- maven-model-builder/pom.xml | 2 +- maven-model/pom.xml | 2 +- maven-plugin-api/pom.xml | 2 +- maven-repository-metadata/pom.xml | 2 +- maven-resolver-provider/pom.xml | 2 +- maven-settings-builder/pom.xml| 2 +- maven-settings/pom.xml| 2 +- maven-slf4j-provider/pom.xml | 2 +- pom.xml | 2 +- 15 files changed, 15 insertions(+), 15 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/ebef3713/apache-maven/pom.xml -- diff --git a/apache-maven/pom.xml b/apache-maven/pom.xml index d313f80..2c52eb0 100644 --- a/apache-maven/pom.xml +++ b/apache-maven/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.1-SNAPSHOT +3.6.0-SNAPSHOT apache-maven http://git-wip-us.apache.org/repos/asf/maven/blob/ebef3713/maven-artifact/pom.xml -- diff --git a/maven-artifact/pom.xml b/maven-artifact/pom.xml index b13482b..089f4ac 100644 --- a/maven-artifact/pom.xml +++ b/maven-artifact/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.1-SNAPSHOT +3.6.0-SNAPSHOT maven-artifact http://git-wip-us.apache.org/repos/asf/maven/blob/ebef3713/maven-builder-support/pom.xml -- diff --git a/maven-builder-support/pom.xml b/maven-builder-support/pom.xml index 5eb7903..6ca5ca2 100644 --- a/maven-builder-support/pom.xml +++ b/maven-builder-support/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.1-SNAPSHOT +3.6.0-SNAPSHOT maven-builder-support http://git-wip-us.apache.org/repos/asf/maven/blob/ebef3713/maven-compat/pom.xml -- diff --git a/maven-compat/pom.xml b/maven-compat/pom.xml index b06d3f3..d4f53bd 100644 --- a/maven-compat/pom.xml +++ b/maven-compat/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.1-SNAPSHOT +3.6.0-SNAPSHOT maven-compat http://git-wip-us.apache.org/repos/asf/maven/blob/ebef3713/maven-core/pom.xml -- diff --git a/maven-core/pom.xml b/maven-core/pom.xml index b10b329..4fdbe8a 100644 --- a/maven-core/pom.xml +++ b/maven-core/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.1-SNAPSHOT +3.6.0-SNAPSHOT maven-core http://git-wip-us.apache.org/repos/asf/maven/blob/ebef3713/maven-embedder/pom.xml -- diff --git a/maven-embedder/pom.xml b/maven-embedder/pom.xml index 66e09a3..918d7d3 100644 --- a/maven-embedder/pom.xml +++ b/maven-embedder/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.1-SNAPSHOT +3.6.0-SNAPSHOT maven-embedder http://git-wip-us.apache.org/repos/asf/maven/blob/ebef3713/maven-model-builder/pom.xml -- diff --git a/maven-model-builder/pom.xml b/maven-model-builder/pom.xml index 7cef99b..b645576 100644 --- a/maven-model-builder/pom.xml +++ b/maven-model-builder/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.1-SNAPSHOT +3.6.0-SNAPSHOT maven-model-builder http://git-wip-us.apache.org/repos/asf/maven/blob/ebef3713/maven-model/pom.xml -- diff --git a/maven-model/pom.xml b/maven-model/pom.xml index aabb25d..0ed9879 100644 --- a/maven-model/pom.xml +++ b/maven-model/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.1-SNAPSHOT +3.6.0-SNAPSHOT maven-model http://git-wip-us.apache.org/repos/asf/maven/blob/ebef3713/maven-plugin-api/pom
[05/13] maven git commit: [MNG-5971] Imported dependencies should be available to inheritance processing
[MNG-5971] Imported dependencies should be available to inheritance processing o Updated the 'DefaultDependencyManagementImporter' to stop ignoring import dependency conflicts silently. Such conflicts need to be resolved manually by adding the conflicting dependency to the pom manually. o Updated to add support for an 'include' scope in dependency management processed before inheritance and interpolation. o Re-formatted 'DefaultModelBuilder'. o Documentation updates. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/0b11c2c3 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/0b11c2c3 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/0b11c2c3 Branch: refs/heads/DEPMGMT Commit: 0b11c2c33ac04d3344c97596f510778d103b8482 Parents: 9afcd23 Author: Christian Schulte Authored: Thu Feb 18 14:07:02 2016 +0100 Committer: Christian Schulte Committed: Sun Feb 5 00:16:20 2017 +0100 -- .../model/building/DefaultModelBuilder.java | 384 ++- .../building/DefaultModelBuildingResult.java| 26 +- .../model/building/ModelBuildingResult.java | 12 + .../DefaultDependencyManagementImporter.java| 213 +- maven-model-builder/src/site/apt/index.apt | 8 +- 5 files changed, 523 insertions(+), 120 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/0b11c2c3/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java -- diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java index 0047c53..964b117 100644 --- a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java +++ b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java @@ -24,6 +24,7 @@ import java.io.IOException; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; +import java.util.HashSet; import java.util.Iterator; import java.util.LinkedHashSet; import java.util.List; @@ -82,6 +83,7 @@ import static org.apache.maven.model.building.Result.newResult; public class DefaultModelBuilder implements ModelBuilder { + @Requirement private ModelProcessor modelProcessor; @@ -248,8 +250,8 @@ public class DefaultModelBuilder DefaultProfileActivationContext profileActivationContext = getProfileActivationContext( request ); problems.setSource( "(external profiles)" ); -List activeExternalProfiles = profileSelector.getActiveProfiles( request.getProfiles(), - profileActivationContext, problems ); +List activeExternalProfiles = +profileSelector.getActiveProfiles( request.getProfiles(), profileActivationContext, problems ); result.setActiveExternalProfiles( activeExternalProfiles ); @@ -296,8 +298,9 @@ public class DefaultModelBuilder profileActivationContext.setProjectProperties( tmpModel.getProperties() ); -List activePomProfiles = profileSelector.getActiveProfiles( rawModel.getProfiles(), - profileActivationContext, problems ); +List activePomProfiles = +profileSelector.getActiveProfiles( rawModel.getProfiles(), profileActivationContext, problems ); + currentData.setActiveProfiles( activePomProfiles ); Map interpolatedActivations = getProfileActivations( rawModel, false ); @@ -332,13 +335,13 @@ public class DefaultModelBuilder } else if ( currentData == resultData ) { // First iteration - add initial id after version resolution. -currentData.setGroupId( currentData.getRawModel().getGroupId() == null ? parentData.getGroupId() - : currentData.getRawModel() - .getGroupId() ); +currentData.setGroupId( currentData.getRawModel().getGroupId() == null +? parentData.getGroupId() +: currentData.getRawModel().getGroupId() ); -currentData.setVersion( currentData.getRawModel().getVersion() == null ? parentData.getVersion() - : currentData.getRawModel() -
[01/13] maven git commit: [MNG-5527] Dependency management import should support relocations. [Forced Update!]
Repository: maven Updated Branches: refs/heads/DEPMGMT f1a1fc6dc -> c252bdd87 (forced update) [MNG-5527] Dependency management import should support relocations. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/5ea110d2 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/5ea110d2 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/5ea110d2 Branch: refs/heads/DEPMGMT Commit: 5ea110d2522a5fe98349fa609ed66e1c4a8fe556 Parents: 758aad1 Author: Christian Schulte Authored: Tue Jun 21 21:35:40 2016 +0200 Committer: Christian Schulte Committed: Sun Feb 5 00:15:32 2017 +0100 -- .../model/building/DefaultModelBuilder.java | 191 --- 1 file changed, 126 insertions(+), 65 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/5ea110d2/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java -- diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java index e07f8e9..5fa52a6 100644 --- a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java +++ b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java @@ -1119,8 +1119,6 @@ public class DefaultModelBuilder final WorkspaceModelResolver workspaceResolver = request.getWorkspaceModelResolver(); final ModelResolver modelResolver = request.getModelResolver(); -ModelBuildingRequest importRequest = null; - List importMgmts = null; for ( Iterator it = depMgmt.getDependencies().iterator(); it.hasNext(); ) @@ -1207,75 +1205,15 @@ public class DefaultModelBuilder } } -// no workspace resolver or workspace resolver returned null (i.e. model not in workspace) if ( importModel == null ) { -final ModelSource importSource; -try -{ -dependency = dependency.clone(); -importSource = modelResolver.resolveModel( dependency ); -final String resolvedId = -dependency.getGroupId() + ':' + dependency.getArtifactId() + ':' + dependency.getVersion(); - -if ( !imported.equals( resolvedId ) && importIds.contains( resolvedId ) ) -{ -// A version range has been resolved to a cycle. -String message = "The dependencies of type=pom and with scope=import form a cycle: "; -for ( String modelId : importIds ) -{ -message += modelId + " -> "; -} -message += resolvedId; -problems.add( new ModelProblemCollectorRequest( Severity.ERROR, Version.BASE ). -setMessage( message ) ); - -continue; -} -} -catch ( UnresolvableModelException e ) -{ -StringBuilder buffer = new StringBuilder( 256 ); -buffer.append( "Non-resolvable import POM" ); -if ( !containsCoordinates( e.getMessage(), groupId, artifactId, version ) ) -{ -buffer.append( " " ).append( ModelProblemUtils.toId( groupId, artifactId, version ) ); -} -buffer.append( ": " ).append( e.getMessage() ); - -problems.add( new ModelProblemCollectorRequest( Severity.ERROR, Version.BASE ) -.setMessage( buffer.toString() ).setLocation( dependency.getLocation( "" ) ) -.setException( e ) ); -continue; -} - -if ( importRequest == null ) -{ -importRequest = new DefaultModelBuildingRequest(); -importRequest.setValidationLevel( ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL ); -importRequest.setModelCache( request.getModelCache() ); -importRequest.setSystemProperties( request.getSystemProperties() ); -importRequest.setUserProperties( request.getUserProperties() ); -importRequest.setLocationTracking( request.isLocationTracking()
[4/7] maven git commit: [MNG-5639] Support resolution of Import Scope POMs from Repo that contains a ${parameter}
[MNG-5639] Support resolution of Import Scope POMs from Repo that contains a ${parameter} o Updated to stop replacing external repositories when repository merging is set to REQUEST_DOMINANT. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/9afcd232 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/9afcd232 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/9afcd232 Branch: refs/heads/DEPMGMT-INCLUDE Commit: 9afcd232a111784dee2eaca3ba5d7114e53ac700 Parents: 1629343 Author: Christian Schulte Authored: Tue Dec 13 20:16:20 2016 +0100 Committer: Christian Schulte Committed: Sun Feb 5 00:16:20 2017 +0100 -- .../project/DefaultProjectBuildingRequest.java | 19 +++ .../maven/project/ProjectModelResolver.java | 12 +++- 2 files changed, 22 insertions(+), 9 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/9afcd232/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 dafbefd..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 @@ -80,22 +80,25 @@ public class DefaultProjectBuildingRequest pluginArtifactRepositories = new ArrayList<>(); } +@SuppressWarnings( "deprecation" ) public DefaultProjectBuildingRequest( ProjectBuildingRequest request ) { this(); -setProcessPlugins( request.isProcessPlugins() ); -setProfiles( request.getProfiles() ); setActiveProfileIds( request.getActiveProfileIds() ); +setBuildStartTime( request.getBuildStartTime() ); setInactiveProfileIds( request.getInactiveProfileIds() ); -setSystemProperties( request.getSystemProperties() ); -setUserProperties( request.getUserProperties() ); -setRemoteRepositories( request.getRemoteRepositories() ); -setPluginArtifactRepositories( request.getPluginArtifactRepositories() ); -setRepositorySession( request.getRepositorySession() ); setLocalRepository( request.getLocalRepository() ); -setBuildStartTime( request.getBuildStartTime() ); +setPluginArtifactRepositories( request.getPluginArtifactRepositories() ); +setProcessPlugins( request.isProcessPlugins() ); +setProfiles( request.getProfiles() ); setProject( request.getProject() ); +setRemoteRepositories( request.getRemoteRepositories() ); +setRepositoryMerging( request.getRepositoryMerging() ); +setRepositorySession( request.getRepositorySession() ); setResolveDependencies( request.isResolveDependencies() ); +setResolveVersionRanges( request.isResolveVersionRanges() ); +setSystemProperties( request.getSystemProperties() ); +setUserProperties( request.getUserProperties() ); setValidationLevel( request.getValidationLevel() ); } http://git-wip-us.apache.org/repos/asf/maven/blob/9afcd232/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java -- diff --git a/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java b/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java index e5aa052..90cb599 100644 --- a/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java +++ b/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java @@ -79,6 +79,8 @@ public class ProjectModelResolver private final Set repositoryIds; +private final Set externalRepositoryIds; + private final ReactorModelPool modelPool; private final ProjectBuildingRequest.RepositoryMerging repositoryMerging; @@ -100,7 +102,13 @@ public class ProjectModelResolver this.repositories.addAll( externalRepositories ); this.repositoryMerging = repositoryMerging; this.repositoryIds = new HashSet<>(); +this.externalRepositoryIds = new HashSet<>(); this.modelPool = modelPool; +for ( final RemoteRepository repository : repositories ) +{ +this.repositoryIds.add( repository.getId() ); +this.externalRepositoryIds.add( repository.getId() ); +} } private ProjectModelResolver( ProjectModelResolver original ) @@ -114,6 +122,7 @@ public class ProjectModelResolver this.repositories = new ArrayList<>( original.repositories );
[09/13] maven git commit: o Updated to Maven Resolver 1.2.0-SNAPSHOT.
o Updated to Maven Resolver 1.2.0-SNAPSHOT. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/6bd6a141 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/6bd6a141 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/6bd6a141 Branch: refs/heads/DEPMGMT Commit: 6bd6a141ab5a60c85cc270b2c563859599d24f02 Parents: ebef371 Author: Christian Schulte Authored: Tue Jan 31 20:22:42 2017 +0100 Committer: Christian Schulte Committed: Sun Feb 5 00:16:47 2017 +0100 -- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/6bd6a141/pom.xml -- diff --git a/pom.xml b/pom.xml index 06d0977..57806e6 100644 --- a/pom.xml +++ b/pom.xml @@ -65,7 +65,7 @@ under the License. 1.7 1.8.3 1.3 -1.0.3 +1.2.0-SNAPSHOT 1.7.5 true
[03/13] maven git commit: [MNG-5600] Dependency management import should support exclusions.
[MNG-5600] Dependency management import should support exclusions. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/cfbc0e85 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/cfbc0e85 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/cfbc0e85 Branch: refs/heads/DEPMGMT Commit: cfbc0e8554946cd7d868414711825ef9811c7bad Parents: 5ea110d Author: Christian Schulte Authored: Sun Jun 19 16:32:25 2016 +0200 Committer: Christian Schulte Committed: Sun Feb 5 00:15:38 2017 +0100 -- .../model/building/DefaultModelBuilder.java | 59 +++- 1 file changed, 45 insertions(+), 14 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/cfbc0e85/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java -- diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java index 5fa52a6..0047c53 100644 --- a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java +++ b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java @@ -19,7 +19,16 @@ package org.apache.maven.model.building; * under the License. */ - +import java.io.File; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.Iterator; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Map; +import java.util.Properties; import org.apache.commons.lang3.Validate; import org.apache.maven.artifact.versioning.DefaultArtifactVersion; import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException; @@ -28,6 +37,7 @@ import org.apache.maven.model.Activation; import org.apache.maven.model.Build; import org.apache.maven.model.Dependency; import org.apache.maven.model.DependencyManagement; +import org.apache.maven.model.Exclusion; import org.apache.maven.model.InputLocation; import org.apache.maven.model.InputSource; import org.apache.maven.model.Model; @@ -62,18 +72,6 @@ import org.apache.maven.model.superpom.SuperPomProvider; import org.apache.maven.model.validation.ModelValidator; import org.codehaus.plexus.component.annotations.Component; import org.codehaus.plexus.component.annotations.Requirement; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Iterator; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Map; -import java.util.Properties; - import static org.apache.maven.model.building.Result.error; import static org.apache.maven.model.building.Result.newResult; @@ -1223,7 +1221,40 @@ public class DefaultModelBuilder importMgmt = new DependencyManagement(); } -putCache( request.getModelCache(), groupId, artifactId, version, ModelCacheTag.IMPORT, importMgmt ); +// [MNG-5600] Dependency management import should support exclusions. +if ( !dependency.getExclusions().isEmpty() ) +{ +for ( final Exclusion exclusion : dependency.getExclusions() ) +{ +if ( exclusion.getGroupId() != null && exclusion.getArtifactId() != null ) +{ +for ( final Iterator dependencies = importMgmt.getDependencies().iterator(); + dependencies.hasNext(); ) +{ +final Dependency candidate = dependencies.next(); + +if ( ( exclusion.getGroupId().equals( "*" ) + || exclusion.getGroupId().equals( candidate.getGroupId() ) ) + && ( exclusion.getArtifactId().equals( "*" ) + || exclusion.getArtifactId().equals( candidate.getArtifactId() ) ) ) +{ +// Dependency excluded from import. +dependencies.remove(); +} +} +} +} + +for ( final Dependency includedDependency : importMgmt.getDependencies() ) +{ +includedDependency.getExclusions().addAll( dependency.getExclusions() ); +} +} +else +{ +
[1/7] maven git commit: [MNG-5527] Dependency management import should support relocations. [Forced Update!]
Repository: maven Updated Branches: refs/heads/DEPMGMT-INCLUDE 375e3bb06 -> ebef37130 (forced update) [MNG-5527] Dependency management import should support relocations. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/5ea110d2 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/5ea110d2 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/5ea110d2 Branch: refs/heads/DEPMGMT-INCLUDE Commit: 5ea110d2522a5fe98349fa609ed66e1c4a8fe556 Parents: 758aad1 Author: Christian Schulte Authored: Tue Jun 21 21:35:40 2016 +0200 Committer: Christian Schulte Committed: Sun Feb 5 00:15:32 2017 +0100 -- .../model/building/DefaultModelBuilder.java | 191 --- 1 file changed, 126 insertions(+), 65 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/5ea110d2/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java -- diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java index e07f8e9..5fa52a6 100644 --- a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java +++ b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java @@ -1119,8 +1119,6 @@ public class DefaultModelBuilder final WorkspaceModelResolver workspaceResolver = request.getWorkspaceModelResolver(); final ModelResolver modelResolver = request.getModelResolver(); -ModelBuildingRequest importRequest = null; - List importMgmts = null; for ( Iterator it = depMgmt.getDependencies().iterator(); it.hasNext(); ) @@ -1207,75 +1205,15 @@ public class DefaultModelBuilder } } -// no workspace resolver or workspace resolver returned null (i.e. model not in workspace) if ( importModel == null ) { -final ModelSource importSource; -try -{ -dependency = dependency.clone(); -importSource = modelResolver.resolveModel( dependency ); -final String resolvedId = -dependency.getGroupId() + ':' + dependency.getArtifactId() + ':' + dependency.getVersion(); - -if ( !imported.equals( resolvedId ) && importIds.contains( resolvedId ) ) -{ -// A version range has been resolved to a cycle. -String message = "The dependencies of type=pom and with scope=import form a cycle: "; -for ( String modelId : importIds ) -{ -message += modelId + " -> "; -} -message += resolvedId; -problems.add( new ModelProblemCollectorRequest( Severity.ERROR, Version.BASE ). -setMessage( message ) ); - -continue; -} -} -catch ( UnresolvableModelException e ) -{ -StringBuilder buffer = new StringBuilder( 256 ); -buffer.append( "Non-resolvable import POM" ); -if ( !containsCoordinates( e.getMessage(), groupId, artifactId, version ) ) -{ -buffer.append( " " ).append( ModelProblemUtils.toId( groupId, artifactId, version ) ); -} -buffer.append( ": " ).append( e.getMessage() ); - -problems.add( new ModelProblemCollectorRequest( Severity.ERROR, Version.BASE ) -.setMessage( buffer.toString() ).setLocation( dependency.getLocation( "" ) ) -.setException( e ) ); -continue; -} - -if ( importRequest == null ) -{ -importRequest = new DefaultModelBuildingRequest(); -importRequest.setValidationLevel( ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL ); -importRequest.setModelCache( request.getModelCache() ); -importRequest.setSystemProperties( request.getSystemProperties() ); -importRequest.setUserProperties( request.getUserProperties() ); -importRequest.setLocationTracking( request.isLo
[2/7] maven git commit: o Updated to 3.5.1-SNAPSHOT to make the ITs run.
o Updated to 3.5.1-SNAPSHOT to make the ITs run. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/a8c7bbfc Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/a8c7bbfc Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/a8c7bbfc Branch: refs/heads/DEPMGMT-INCLUDE Commit: a8c7bbfcc858b5fbe4214f932e2a671d3b284be1 Parents: cfbc0e8 Author: Christian Schulte Authored: Tue Jan 31 03:17:58 2017 +0100 Committer: Christian Schulte Committed: Sun Feb 5 00:15:38 2017 +0100 -- apache-maven/pom.xml | 2 +- maven-artifact/pom.xml| 2 +- maven-builder-support/pom.xml | 2 +- maven-compat/pom.xml | 2 +- maven-core/pom.xml| 2 +- maven-embedder/pom.xml| 2 +- maven-model-builder/pom.xml | 2 +- maven-model/pom.xml | 2 +- maven-plugin-api/pom.xml | 2 +- maven-repository-metadata/pom.xml | 2 +- maven-resolver-provider/pom.xml | 2 +- maven-settings-builder/pom.xml| 2 +- maven-settings/pom.xml| 2 +- maven-slf4j-provider/pom.xml | 2 +- pom.xml | 2 +- 15 files changed, 15 insertions(+), 15 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/a8c7bbfc/apache-maven/pom.xml -- diff --git a/apache-maven/pom.xml b/apache-maven/pom.xml index 6fc5a73..d313f80 100644 --- a/apache-maven/pom.xml +++ b/apache-maven/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT apache-maven http://git-wip-us.apache.org/repos/asf/maven/blob/a8c7bbfc/maven-artifact/pom.xml -- diff --git a/maven-artifact/pom.xml b/maven-artifact/pom.xml index e3943c9..b13482b 100644 --- a/maven-artifact/pom.xml +++ b/maven-artifact/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT maven-artifact http://git-wip-us.apache.org/repos/asf/maven/blob/a8c7bbfc/maven-builder-support/pom.xml -- diff --git a/maven-builder-support/pom.xml b/maven-builder-support/pom.xml index 39eb161..5eb7903 100644 --- a/maven-builder-support/pom.xml +++ b/maven-builder-support/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT maven-builder-support http://git-wip-us.apache.org/repos/asf/maven/blob/a8c7bbfc/maven-compat/pom.xml -- diff --git a/maven-compat/pom.xml b/maven-compat/pom.xml index 2b205f7..b06d3f3 100644 --- a/maven-compat/pom.xml +++ b/maven-compat/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT maven-compat http://git-wip-us.apache.org/repos/asf/maven/blob/a8c7bbfc/maven-core/pom.xml -- diff --git a/maven-core/pom.xml b/maven-core/pom.xml index 95162bd..b10b329 100644 --- a/maven-core/pom.xml +++ b/maven-core/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT maven-core http://git-wip-us.apache.org/repos/asf/maven/blob/a8c7bbfc/maven-embedder/pom.xml -- diff --git a/maven-embedder/pom.xml b/maven-embedder/pom.xml index 30ad2ce..66e09a3 100644 --- a/maven-embedder/pom.xml +++ b/maven-embedder/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT maven-embedder http://git-wip-us.apache.org/repos/asf/maven/blob/a8c7bbfc/maven-model-builder/pom.xml -- diff --git a/maven-model-builder/pom.xml b/maven-model-builder/pom.xml index fbfd417..7cef99b 100644 --- a/maven-model-builder/pom.xml +++ b/maven-model-builder/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT maven-model-builder http://git-wip-us.apache.org/repos/asf/maven/blob/a8c7bbfc/maven-model/pom.xml -- diff --git a/maven-model/pom.xml b/maven-model/pom.xml index 41cf168..aabb25d 100644 --- a/maven-model/pom.xml +++ b/maven-model/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT maven-model http://git-wip-us.apache.org/repos/asf/maven/blob/a8c7bbfc/maven-plugin-api/pom.xml ---
[3/7] maven git commit: [MNG-5600] Dependency management import should support exclusions.
[MNG-5600] Dependency management import should support exclusions. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/cfbc0e85 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/cfbc0e85 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/cfbc0e85 Branch: refs/heads/DEPMGMT-INCLUDE Commit: cfbc0e8554946cd7d868414711825ef9811c7bad Parents: 5ea110d Author: Christian Schulte Authored: Sun Jun 19 16:32:25 2016 +0200 Committer: Christian Schulte Committed: Sun Feb 5 00:15:38 2017 +0100 -- .../model/building/DefaultModelBuilder.java | 59 +++- 1 file changed, 45 insertions(+), 14 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/cfbc0e85/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java -- diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java index 5fa52a6..0047c53 100644 --- a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java +++ b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java @@ -19,7 +19,16 @@ package org.apache.maven.model.building; * under the License. */ - +import java.io.File; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.Iterator; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Map; +import java.util.Properties; import org.apache.commons.lang3.Validate; import org.apache.maven.artifact.versioning.DefaultArtifactVersion; import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException; @@ -28,6 +37,7 @@ import org.apache.maven.model.Activation; import org.apache.maven.model.Build; import org.apache.maven.model.Dependency; import org.apache.maven.model.DependencyManagement; +import org.apache.maven.model.Exclusion; import org.apache.maven.model.InputLocation; import org.apache.maven.model.InputSource; import org.apache.maven.model.Model; @@ -62,18 +72,6 @@ import org.apache.maven.model.superpom.SuperPomProvider; import org.apache.maven.model.validation.ModelValidator; import org.codehaus.plexus.component.annotations.Component; import org.codehaus.plexus.component.annotations.Requirement; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Iterator; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Map; -import java.util.Properties; - import static org.apache.maven.model.building.Result.error; import static org.apache.maven.model.building.Result.newResult; @@ -1223,7 +1221,40 @@ public class DefaultModelBuilder importMgmt = new DependencyManagement(); } -putCache( request.getModelCache(), groupId, artifactId, version, ModelCacheTag.IMPORT, importMgmt ); +// [MNG-5600] Dependency management import should support exclusions. +if ( !dependency.getExclusions().isEmpty() ) +{ +for ( final Exclusion exclusion : dependency.getExclusions() ) +{ +if ( exclusion.getGroupId() != null && exclusion.getArtifactId() != null ) +{ +for ( final Iterator dependencies = importMgmt.getDependencies().iterator(); + dependencies.hasNext(); ) +{ +final Dependency candidate = dependencies.next(); + +if ( ( exclusion.getGroupId().equals( "*" ) + || exclusion.getGroupId().equals( candidate.getGroupId() ) ) + && ( exclusion.getArtifactId().equals( "*" ) + || exclusion.getArtifactId().equals( candidate.getArtifactId() ) ) ) +{ +// Dependency excluded from import. +dependencies.remove(); +} +} +} +} + +for ( final Dependency includedDependency : importMgmt.getDependencies() ) +{ +includedDependency.getExclusions().addAll( dependency.getExclusions() ); +} +} +else +{ +
[5/7] maven git commit: [MNG-5971] Imported dependencies should be available to inheritance processing
[MNG-5971] Imported dependencies should be available to inheritance processing o Updated the 'DefaultDependencyManagementImporter' to stop ignoring import dependency conflicts silently. Such conflicts need to be resolved manually by adding the conflicting dependency to the pom manually. o Updated to add support for an 'include' scope in dependency management processed before inheritance and interpolation. o Re-formatted 'DefaultModelBuilder'. o Documentation updates. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/0b11c2c3 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/0b11c2c3 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/0b11c2c3 Branch: refs/heads/DEPMGMT-INCLUDE Commit: 0b11c2c33ac04d3344c97596f510778d103b8482 Parents: 9afcd23 Author: Christian Schulte Authored: Thu Feb 18 14:07:02 2016 +0100 Committer: Christian Schulte Committed: Sun Feb 5 00:16:20 2017 +0100 -- .../model/building/DefaultModelBuilder.java | 384 ++- .../building/DefaultModelBuildingResult.java| 26 +- .../model/building/ModelBuildingResult.java | 12 + .../DefaultDependencyManagementImporter.java| 213 +- maven-model-builder/src/site/apt/index.apt | 8 +- 5 files changed, 523 insertions(+), 120 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/0b11c2c3/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java -- diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java index 0047c53..964b117 100644 --- a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java +++ b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java @@ -24,6 +24,7 @@ import java.io.IOException; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; +import java.util.HashSet; import java.util.Iterator; import java.util.LinkedHashSet; import java.util.List; @@ -82,6 +83,7 @@ import static org.apache.maven.model.building.Result.newResult; public class DefaultModelBuilder implements ModelBuilder { + @Requirement private ModelProcessor modelProcessor; @@ -248,8 +250,8 @@ public class DefaultModelBuilder DefaultProfileActivationContext profileActivationContext = getProfileActivationContext( request ); problems.setSource( "(external profiles)" ); -List activeExternalProfiles = profileSelector.getActiveProfiles( request.getProfiles(), - profileActivationContext, problems ); +List activeExternalProfiles = +profileSelector.getActiveProfiles( request.getProfiles(), profileActivationContext, problems ); result.setActiveExternalProfiles( activeExternalProfiles ); @@ -296,8 +298,9 @@ public class DefaultModelBuilder profileActivationContext.setProjectProperties( tmpModel.getProperties() ); -List activePomProfiles = profileSelector.getActiveProfiles( rawModel.getProfiles(), - profileActivationContext, problems ); +List activePomProfiles = +profileSelector.getActiveProfiles( rawModel.getProfiles(), profileActivationContext, problems ); + currentData.setActiveProfiles( activePomProfiles ); Map interpolatedActivations = getProfileActivations( rawModel, false ); @@ -332,13 +335,13 @@ public class DefaultModelBuilder } else if ( currentData == resultData ) { // First iteration - add initial id after version resolution. -currentData.setGroupId( currentData.getRawModel().getGroupId() == null ? parentData.getGroupId() - : currentData.getRawModel() - .getGroupId() ); +currentData.setGroupId( currentData.getRawModel().getGroupId() == null +? parentData.getGroupId() +: currentData.getRawModel().getGroupId() ); -currentData.setVersion( currentData.getRawModel().getVersion() == null ? parentData.getVersion() - : currentData.getRawModel() -
[1/3] maven git commit: [MNG-5527] Dependency management import should support relocations. [Forced Update!]
Repository: maven Updated Branches: refs/heads/DEPMGMT-IMPORT 743be82c3 -> a8c7bbfcc (forced update) [MNG-5527] Dependency management import should support relocations. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/5ea110d2 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/5ea110d2 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/5ea110d2 Branch: refs/heads/DEPMGMT-IMPORT Commit: 5ea110d2522a5fe98349fa609ed66e1c4a8fe556 Parents: 758aad1 Author: Christian Schulte Authored: Tue Jun 21 21:35:40 2016 +0200 Committer: Christian Schulte Committed: Sun Feb 5 00:15:32 2017 +0100 -- .../model/building/DefaultModelBuilder.java | 191 --- 1 file changed, 126 insertions(+), 65 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/5ea110d2/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java -- diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java index e07f8e9..5fa52a6 100644 --- a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java +++ b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java @@ -1119,8 +1119,6 @@ public class DefaultModelBuilder final WorkspaceModelResolver workspaceResolver = request.getWorkspaceModelResolver(); final ModelResolver modelResolver = request.getModelResolver(); -ModelBuildingRequest importRequest = null; - List importMgmts = null; for ( Iterator it = depMgmt.getDependencies().iterator(); it.hasNext(); ) @@ -1207,75 +1205,15 @@ public class DefaultModelBuilder } } -// no workspace resolver or workspace resolver returned null (i.e. model not in workspace) if ( importModel == null ) { -final ModelSource importSource; -try -{ -dependency = dependency.clone(); -importSource = modelResolver.resolveModel( dependency ); -final String resolvedId = -dependency.getGroupId() + ':' + dependency.getArtifactId() + ':' + dependency.getVersion(); - -if ( !imported.equals( resolvedId ) && importIds.contains( resolvedId ) ) -{ -// A version range has been resolved to a cycle. -String message = "The dependencies of type=pom and with scope=import form a cycle: "; -for ( String modelId : importIds ) -{ -message += modelId + " -> "; -} -message += resolvedId; -problems.add( new ModelProblemCollectorRequest( Severity.ERROR, Version.BASE ). -setMessage( message ) ); - -continue; -} -} -catch ( UnresolvableModelException e ) -{ -StringBuilder buffer = new StringBuilder( 256 ); -buffer.append( "Non-resolvable import POM" ); -if ( !containsCoordinates( e.getMessage(), groupId, artifactId, version ) ) -{ -buffer.append( " " ).append( ModelProblemUtils.toId( groupId, artifactId, version ) ); -} -buffer.append( ": " ).append( e.getMessage() ); - -problems.add( new ModelProblemCollectorRequest( Severity.ERROR, Version.BASE ) -.setMessage( buffer.toString() ).setLocation( dependency.getLocation( "" ) ) -.setException( e ) ); -continue; -} - -if ( importRequest == null ) -{ -importRequest = new DefaultModelBuildingRequest(); -importRequest.setValidationLevel( ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL ); -importRequest.setModelCache( request.getModelCache() ); -importRequest.setSystemProperties( request.getSystemProperties() ); -importRequest.setUserProperties( request.getUserProperties() ); -importRequest.setLocationTracking( request.isLoca
[3/3] maven git commit: o Updated to 3.5.1-SNAPSHOT to make the ITs run.
o Updated to 3.5.1-SNAPSHOT to make the ITs run. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/a8c7bbfc Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/a8c7bbfc Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/a8c7bbfc Branch: refs/heads/DEPMGMT-IMPORT Commit: a8c7bbfcc858b5fbe4214f932e2a671d3b284be1 Parents: cfbc0e8 Author: Christian Schulte Authored: Tue Jan 31 03:17:58 2017 +0100 Committer: Christian Schulte Committed: Sun Feb 5 00:15:38 2017 +0100 -- apache-maven/pom.xml | 2 +- maven-artifact/pom.xml| 2 +- maven-builder-support/pom.xml | 2 +- maven-compat/pom.xml | 2 +- maven-core/pom.xml| 2 +- maven-embedder/pom.xml| 2 +- maven-model-builder/pom.xml | 2 +- maven-model/pom.xml | 2 +- maven-plugin-api/pom.xml | 2 +- maven-repository-metadata/pom.xml | 2 +- maven-resolver-provider/pom.xml | 2 +- maven-settings-builder/pom.xml| 2 +- maven-settings/pom.xml| 2 +- maven-slf4j-provider/pom.xml | 2 +- pom.xml | 2 +- 15 files changed, 15 insertions(+), 15 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/a8c7bbfc/apache-maven/pom.xml -- diff --git a/apache-maven/pom.xml b/apache-maven/pom.xml index 6fc5a73..d313f80 100644 --- a/apache-maven/pom.xml +++ b/apache-maven/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT apache-maven http://git-wip-us.apache.org/repos/asf/maven/blob/a8c7bbfc/maven-artifact/pom.xml -- diff --git a/maven-artifact/pom.xml b/maven-artifact/pom.xml index e3943c9..b13482b 100644 --- a/maven-artifact/pom.xml +++ b/maven-artifact/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT maven-artifact http://git-wip-us.apache.org/repos/asf/maven/blob/a8c7bbfc/maven-builder-support/pom.xml -- diff --git a/maven-builder-support/pom.xml b/maven-builder-support/pom.xml index 39eb161..5eb7903 100644 --- a/maven-builder-support/pom.xml +++ b/maven-builder-support/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT maven-builder-support http://git-wip-us.apache.org/repos/asf/maven/blob/a8c7bbfc/maven-compat/pom.xml -- diff --git a/maven-compat/pom.xml b/maven-compat/pom.xml index 2b205f7..b06d3f3 100644 --- a/maven-compat/pom.xml +++ b/maven-compat/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT maven-compat http://git-wip-us.apache.org/repos/asf/maven/blob/a8c7bbfc/maven-core/pom.xml -- diff --git a/maven-core/pom.xml b/maven-core/pom.xml index 95162bd..b10b329 100644 --- a/maven-core/pom.xml +++ b/maven-core/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT maven-core http://git-wip-us.apache.org/repos/asf/maven/blob/a8c7bbfc/maven-embedder/pom.xml -- diff --git a/maven-embedder/pom.xml b/maven-embedder/pom.xml index 30ad2ce..66e09a3 100644 --- a/maven-embedder/pom.xml +++ b/maven-embedder/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT maven-embedder http://git-wip-us.apache.org/repos/asf/maven/blob/a8c7bbfc/maven-model-builder/pom.xml -- diff --git a/maven-model-builder/pom.xml b/maven-model-builder/pom.xml index fbfd417..7cef99b 100644 --- a/maven-model-builder/pom.xml +++ b/maven-model-builder/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT maven-model-builder http://git-wip-us.apache.org/repos/asf/maven/blob/a8c7bbfc/maven-model/pom.xml -- diff --git a/maven-model/pom.xml b/maven-model/pom.xml index 41cf168..aabb25d 100644 --- a/maven-model/pom.xml +++ b/maven-model/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT maven-model http://git-wip-us.apache.org/repos/asf/maven/blob/a8c7bbfc/maven-plugin-api/pom.xml
[2/3] maven git commit: [MNG-5600] Dependency management import should support exclusions.
[MNG-5600] Dependency management import should support exclusions. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/cfbc0e85 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/cfbc0e85 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/cfbc0e85 Branch: refs/heads/DEPMGMT-IMPORT Commit: cfbc0e8554946cd7d868414711825ef9811c7bad Parents: 5ea110d Author: Christian Schulte Authored: Sun Jun 19 16:32:25 2016 +0200 Committer: Christian Schulte Committed: Sun Feb 5 00:15:38 2017 +0100 -- .../model/building/DefaultModelBuilder.java | 59 +++- 1 file changed, 45 insertions(+), 14 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/cfbc0e85/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java -- diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java index 5fa52a6..0047c53 100644 --- a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java +++ b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java @@ -19,7 +19,16 @@ package org.apache.maven.model.building; * under the License. */ - +import java.io.File; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.Iterator; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Map; +import java.util.Properties; import org.apache.commons.lang3.Validate; import org.apache.maven.artifact.versioning.DefaultArtifactVersion; import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException; @@ -28,6 +37,7 @@ import org.apache.maven.model.Activation; import org.apache.maven.model.Build; import org.apache.maven.model.Dependency; import org.apache.maven.model.DependencyManagement; +import org.apache.maven.model.Exclusion; import org.apache.maven.model.InputLocation; import org.apache.maven.model.InputSource; import org.apache.maven.model.Model; @@ -62,18 +72,6 @@ import org.apache.maven.model.superpom.SuperPomProvider; import org.apache.maven.model.validation.ModelValidator; import org.codehaus.plexus.component.annotations.Component; import org.codehaus.plexus.component.annotations.Requirement; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Iterator; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Map; -import java.util.Properties; - import static org.apache.maven.model.building.Result.error; import static org.apache.maven.model.building.Result.newResult; @@ -1223,7 +1221,40 @@ public class DefaultModelBuilder importMgmt = new DependencyManagement(); } -putCache( request.getModelCache(), groupId, artifactId, version, ModelCacheTag.IMPORT, importMgmt ); +// [MNG-5600] Dependency management import should support exclusions. +if ( !dependency.getExclusions().isEmpty() ) +{ +for ( final Exclusion exclusion : dependency.getExclusions() ) +{ +if ( exclusion.getGroupId() != null && exclusion.getArtifactId() != null ) +{ +for ( final Iterator dependencies = importMgmt.getDependencies().iterator(); + dependencies.hasNext(); ) +{ +final Dependency candidate = dependencies.next(); + +if ( ( exclusion.getGroupId().equals( "*" ) + || exclusion.getGroupId().equals( candidate.getGroupId() ) ) + && ( exclusion.getArtifactId().equals( "*" ) + || exclusion.getArtifactId().equals( candidate.getArtifactId() ) ) ) +{ +// Dependency excluded from import. +dependencies.remove(); +} +} +} +} + +for ( final Dependency includedDependency : importMgmt.getDependencies() ) +{ +includedDependency.getExclusions().addAll( dependency.getExclusions() ); +} +} +else +{ +
[10/16] maven git commit: o Updated to Maven Resolver 1.2.0-SNAPSHOT.
o Updated to Maven Resolver 1.2.0-SNAPSHOT. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/dbf8e405 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/dbf8e405 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/dbf8e405 Branch: refs/heads/DEPMGMT-IT Commit: dbf8e405a7c58e086565296c68fd6e6c8cecc705 Parents: 375e3bb Author: Christian Schulte Authored: Tue Jan 31 20:22:42 2017 +0100 Committer: Christian Schulte Committed: Sun Feb 5 00:08:37 2017 +0100 -- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/dbf8e405/pom.xml -- diff --git a/pom.xml b/pom.xml index 06d0977..57806e6 100644 --- a/pom.xml +++ b/pom.xml @@ -65,7 +65,7 @@ under the License. 1.7 1.8.3 1.3 -1.0.3 +1.2.0-SNAPSHOT 1.7.5 true
[04/16] maven git commit: [MNG-5600] Dependency management import should support exclusions.
[MNG-5600] Dependency management import should support exclusions. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/fffa0db5 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/fffa0db5 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/fffa0db5 Branch: refs/heads/DEPMGMT-IT Commit: fffa0db507a7a019d6ec9a6bfc2a6cf8172ce4f1 Parents: 9579741 Author: Christian Schulte Authored: Sun Jun 19 16:32:25 2016 +0200 Committer: Christian Schulte Committed: Sun Feb 5 00:05:27 2017 +0100 -- .../model/building/DefaultModelBuilder.java | 59 +++- 1 file changed, 45 insertions(+), 14 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/fffa0db5/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java -- diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java index b25d8f2..9c505a9 100644 --- a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java +++ b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java @@ -19,7 +19,16 @@ package org.apache.maven.model.building; * under the License. */ - +import java.io.File; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.Iterator; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Map; +import java.util.Properties; import org.apache.commons.lang3.Validate; import org.apache.maven.artifact.versioning.DefaultArtifactVersion; import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException; @@ -28,6 +37,7 @@ import org.apache.maven.model.Activation; import org.apache.maven.model.Build; import org.apache.maven.model.Dependency; import org.apache.maven.model.DependencyManagement; +import org.apache.maven.model.Exclusion; import org.apache.maven.model.InputLocation; import org.apache.maven.model.InputSource; import org.apache.maven.model.Model; @@ -62,18 +72,6 @@ import org.apache.maven.model.superpom.SuperPomProvider; import org.apache.maven.model.validation.ModelValidator; import org.codehaus.plexus.component.annotations.Component; import org.codehaus.plexus.component.annotations.Requirement; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Iterator; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Map; -import java.util.Properties; - import static org.apache.maven.model.building.Result.error; import static org.apache.maven.model.building.Result.newResult; @@ -1223,7 +1221,40 @@ public class DefaultModelBuilder importMgmt = new DependencyManagement(); } -putCache( request.getModelCache(), groupId, artifactId, version, ModelCacheTag.IMPORT, importMgmt ); +// [MNG-5600] Dependency management import should support exclusions. +if ( !dependency.getExclusions().isEmpty() ) +{ +for ( final Exclusion exclusion : dependency.getExclusions() ) +{ +if ( exclusion.getGroupId() != null && exclusion.getArtifactId() != null ) +{ +for ( final Iterator dependencies = importMgmt.getDependencies().iterator(); + dependencies.hasNext(); ) +{ +final Dependency candidate = dependencies.next(); + +if ( ( exclusion.getGroupId().equals( "*" ) + || exclusion.getGroupId().equals( candidate.getGroupId() ) ) + && ( exclusion.getArtifactId().equals( "*" ) + || exclusion.getArtifactId().equals( candidate.getArtifactId() ) ) ) +{ +// Dependency excluded from import. +dependencies.remove(); +} +} +} +} + +for ( final Dependency includedDependency : importMgmt.getDependencies() ) +{ +includedDependency.getExclusions().addAll( dependency.getExclusions() ); +} +} +else +{ +
[07/16] maven git commit: [MNG-4347] import-scoped dependencies of direct dependencies are not resolved using profile modifications from settings.xml
[MNG-4347] import-scoped dependencies of direct dependencies are not resolved using profile modifications from settings.xml o Updated the 'DefaultModelResolver' to handle replacing repositories the same way the 'DefaultDependencyCollector' does. When the 'DefaultDependencyCollector' finds a repository in a child node with an id matching a repository already in use, it will only merge any mirror definitions but never change the repository already in use. The 'DefaultModelResolver' needs to follow the same logic. What has been provided must not change for consistency. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/9f4a3653 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/9f4a3653 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/9f4a3653 Branch: refs/heads/DEPMGMT-IT Commit: 9f4a3653eae96afafc6e89be9240e877489006c6 Parents: 743be82 Author: Christian Schulte Authored: Tue Dec 13 03:30:32 2016 +0100 Committer: Christian Schulte Committed: Sun Feb 5 00:06:15 2017 +0100 -- .../maven/repository/internal/DefaultModelResolver.java | 12 ++-- 1 file changed, 10 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/9f4a3653/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java -- diff --git a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java index 260a770..0cc5b17 100644 --- a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java +++ b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java @@ -71,6 +71,8 @@ class DefaultModelResolver private final List externalRepositories; +private final Set externalRepositoryIds; + private final ArtifactResolver resolver; private final VersionRangeResolver versionRangeResolver; @@ -93,8 +95,13 @@ class DefaultModelResolver List externalRepositories = new ArrayList<>(); externalRepositories.addAll( repositories ); this.externalRepositories = Collections.unmodifiableList( externalRepositories ); - this.repositoryIds = new HashSet<>(); +this.externalRepositoryIds = new HashSet<>(); +for ( final RemoteRepository repository : this.repositories ) +{ +this.repositoryIds.add( repository.getId() ); +this.externalRepositoryIds.add( repository.getId() ); +} } private DefaultModelResolver( DefaultModelResolver original ) @@ -108,6 +115,7 @@ class DefaultModelResolver this.repositories = new ArrayList<>( original.repositories ); this.externalRepositories = original.externalRepositories; this.repositoryIds = new HashSet<>( original.repositoryIds ); +this.externalRepositoryIds = new HashSet<>( original.externalRepositoryIds ); } @Override @@ -128,7 +136,7 @@ class DefaultModelResolver if ( !repositoryIds.add( repository.getId() ) ) { -if ( !replace ) +if ( !replace || this.externalRepositoryIds.contains( repository.getId() ) ) { return; }
[15/16] maven git commit: [MNG-1577] dependencyManagement does not work for transitive dependencies
[MNG-1577] dependencyManagement does not work for transitive dependencies o Updated to correct an incorrect test case. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/8d63a62e Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/8d63a62e Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/8d63a62e Branch: refs/heads/DEPMGMT-IT Commit: 8d63a62eb9e8705d36c4a674fb9e2f53f248dc6c Parents: 10a4ab3 Author: Christian Schulte Authored: Wed Feb 3 19:17:02 2016 +0100 Committer: Christian Schulte Committed: Sun Feb 5 00:08:37 2017 +0100 -- maven-compat/src/test/resources/inheritance-repo/t06/p0/p1/pom.xml | 2 -- maven-compat/src/test/resources/inheritance-repo/t06/p0/pom.xml| 2 -- 2 files changed, 4 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/8d63a62e/maven-compat/src/test/resources/inheritance-repo/t06/p0/p1/pom.xml -- diff --git a/maven-compat/src/test/resources/inheritance-repo/t06/p0/p1/pom.xml b/maven-compat/src/test/resources/inheritance-repo/t06/p0/p1/pom.xml index 4686219..2ac9544 100644 --- a/maven-compat/src/test/resources/inheritance-repo/t06/p0/p1/pom.xml +++ b/maven-compat/src/test/resources/inheritance-repo/t06/p0/p1/pom.xml @@ -24,8 +24,6 @@ maven-test t06-d 1.0 -test -false http://git-wip-us.apache.org/repos/asf/maven/blob/8d63a62e/maven-compat/src/test/resources/inheritance-repo/t06/p0/pom.xml -- diff --git a/maven-compat/src/test/resources/inheritance-repo/t06/p0/pom.xml b/maven-compat/src/test/resources/inheritance-repo/t06/p0/pom.xml index 60c540c..6a66cd1 100644 --- a/maven-compat/src/test/resources/inheritance-repo/t06/p0/pom.xml +++ b/maven-compat/src/test/resources/inheritance-repo/t06/p0/pom.xml @@ -29,8 +29,6 @@ maven-test t06-d 1.2 -test -false
[16/16] maven git commit: o Updated to run the core ITs from the DEPMGMT branch.
o Updated to run the core ITs from the DEPMGMT branch. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/06a68236 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/06a68236 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/06a68236 Branch: refs/heads/DEPMGMT-IT Commit: 06a682364258aaacc94b797530d3502949958a5d Parents: f1a1fc6 Author: Christian Schulte Authored: Tue Jan 31 20:42:18 2017 +0100 Committer: Christian Schulte Committed: Sun Feb 5 00:11:29 2017 +0100 -- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/06a68236/Jenkinsfile -- diff --git a/Jenkinsfile b/Jenkinsfile index 5b82d78..c7b9c2b 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -19,7 +19,7 @@ properties([buildDiscarder(logRotator(artifactNumToKeepStr: '5', numToKeepStr: env.BRANCH_NAME=='master'?'10':'5'))]) -def itBranch='master' +def itBranch='DEPMGMT' try { node('ubuntu') {
[02/16] maven git commit: [MNG-4463] Dependency management import should support version ranges.
[MNG-4463] Dependency management import should support version ranges. o Extended the 'ModelResolver' interface to support resolving 'Dependency's in addition to 'Parent's. Closes #64 without merging. ITs are pending to be committed. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/758aad1b Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/758aad1b Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/758aad1b Branch: refs/heads/DEPMGMT-IT Commit: 758aad1b1d30b0c10224bff498ad3c36bdf2ab09 Parents: affddb2 Author: Christian Schulte Authored: Sat Jan 30 19:17:34 2016 +0100 Committer: Christian Schulte Committed: Sun Feb 5 00:05:20 2017 +0100 -- .../maven/project/ProjectModelResolver.java | 83 +++ .../model/building/DefaultModelBuilder.java | 20 - .../maven/model/resolution/ModelResolver.java | 32 .../internal/DefaultModelResolver.java | 85 4 files changed, 186 insertions(+), 34 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/758aad1b/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java -- diff --git a/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java b/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java index 7b93217..e5aa052 100644 --- a/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java +++ b/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java @@ -26,6 +26,7 @@ import java.util.HashSet; import java.util.List; import java.util.Set; +import org.apache.maven.model.Dependency; import com.google.common.base.Predicate; import com.google.common.collect.Iterables; @@ -203,24 +204,26 @@ public class ProjectModelResolver return new FileModelSource( pomFile ); } -public ModelSource resolveModel( Parent parent ) +@Override +public ModelSource resolveModel( final Parent parent ) throws UnresolvableModelException { -Artifact artifact = new DefaultArtifact( parent.getGroupId(), parent.getArtifactId(), "", "pom", - parent.getVersion() ); - -VersionRangeRequest versionRangeRequest = new VersionRangeRequest( artifact, repositories, context ); -versionRangeRequest.setTrace( trace ); - try { -VersionRangeResult versionRangeResult = resolver.resolveVersionRange( session, versionRangeRequest ); +final Artifact artifact = new DefaultArtifact( parent.getGroupId(), parent.getArtifactId(), "", "pom", + parent.getVersion() ); + +final VersionRangeRequest versionRangeRequest = new VersionRangeRequest( artifact, repositories, context ); +versionRangeRequest.setTrace( trace ); + +final VersionRangeResult versionRangeResult = resolver.resolveVersionRange( session, versionRangeRequest ); if ( versionRangeResult.getHighestVersion() == null ) { -throw new UnresolvableModelException( "No versions matched the requested range '" + parent.getVersion() - + "'", parent.getGroupId(), parent.getArtifactId(), - parent.getVersion() ); +throw new UnresolvableModelException( +String.format( "No versions matched the requested parent version range '%s'", + parent.getVersion() ), +parent.getGroupId(), parent.getArtifactId(), parent.getVersion() ); } @@ -229,21 +232,69 @@ public class ProjectModelResolver && versionRangeResult.getVersionConstraint().getRange().getUpperBound() == null ) { // Message below is checked for in the MNG-2199 core IT. -throw new UnresolvableModelException( "The requested version range '" + parent.getVersion() - + "' does not specify an upper bound", parent.getGroupId(), - parent.getArtifactId(), parent.getVersion() ); +throw new UnresolvableModelException( +String.format( "The requested parent version range '%s' does not specify an upper bound", + parent.getVersion() ), +parent.getGroupId(), parent.getArtifactId(), parent.getVersion() ); } parent.setVersion( versionRangeResult.getHighestVersion().toString() );
[13/16] maven git commit: [MNG-6135] Maven plugins and core extensions are not dependencies, they should be resolved the same way as projects.
[MNG-6135] Maven plugins and core extensions are not dependencies, they should be resolved the same way as projects. o Updated to use the '' element to decide the style of resolution as discussed on dev@. Plugins with prerequisites >= 3.6 get the correct resolution, all other plugins will be resolved with direct 'test' and 'provided' dependencies ignored but direct 'optional' dependencies. o During working on MNG-6135, it turned out that plugin dependency management also is applied to the dependencies declared for a plugin using the 'plugins/plugin/dependencies/dependency' element. Dependencies declared that way must not be overridden by any management. I added management for 'plexus-utils' in the core IT suite. This immediately made the ITs for MNG-4276 and MNG-4274 fail, because 'plexus-utils' got subject to management although a different version has been declared in the plugin declaration. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/f1a1fc6d Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/f1a1fc6d Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/f1a1fc6d Branch: refs/heads/DEPMGMT-IT Commit: f1a1fc6dc27191882656057c5737c9fb81bbab21 Parents: 9d4f54a Author: Christian Schulte Authored: Sat Dec 17 03:07:04 2016 +0100 Committer: Christian Schulte Committed: Sun Feb 5 00:08:37 2017 +0100 -- .../java/org/apache/maven/RepositoryUtils.java | 12 +- .../DefaultPluginDependenciesResolver.java | 370 --- .../plugin/internal/PlexusUtilsInjector.java| 30 +- .../maven/plugin/internal/WagonExcluder.java| 14 +- 4 files changed, 344 insertions(+), 82 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/f1a1fc6d/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 52442b7..08749ea 100644 --- a/maven-core/src/main/java/org/apache/maven/RepositoryUtils.java +++ b/maven-core/src/main/java/org/apache/maven/RepositoryUtils.java @@ -114,12 +114,16 @@ public class RepositoryUtils List nodeTrail = new ArrayList<>( trail.size() + 1 ); nodeTrail.addAll( trail ); -nodeTrail.add( artifact.getId() ); -if ( filter == null || filter.accept( node, Collections.emptyList() ) ) +if ( artifact != null ) { -artifact.setDependencyTrail( nodeTrail ); -artifacts.add( artifact ); +nodeTrail.add( artifact.getId() ); + +if ( filter == null || filter.accept( node, Collections.emptyList() ) ) +{ +artifact.setDependencyTrail( nodeTrail ); +artifacts.add( artifact ); +} } toArtifacts( artifacts, node.getChildren(), nodeTrail, filter ); http://git-wip-us.apache.org/repos/asf/maven/blob/f1a1fc6d/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 b79b15f..80fd80d 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 @@ -20,10 +20,11 @@ package org.apache.maven.plugin.internal; */ import java.util.LinkedHashMap; +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; @@ -37,8 +38,11 @@ import org.eclipse.aether.RequestTrace; import org.eclipse.aether.artifact.Artifact; import org.eclipse.aether.artifact.DefaultArtifact; import org.eclipse.aether.collection.CollectRequest; +import org.eclipse.aether.collection.DependencyCollectionContext; import org.eclipse.aether.collection.DependencyCollectionException; import org.eclipse.aether.collection.DependencyGraphTransformer; +import org.eclipse.aether.collection.DependencyManagement; +import org.eclipse.aether.collection.DependencyManager; import org.eclipse.aether.collection.DependencySelector; import org.eclipse.aether.graph.DependencyFilter; import org.eclipse.aether.graph.Dependen
[06/10] maven git commit: [MNG-5639] Support resolution of Import Scope POMs from Repo that contains a ${parameter}
[MNG-5639] Support resolution of Import Scope POMs from Repo that contains a ${parameter} o Updated to stop replacing external repositories when repository merging is set to REQUEST_DOMINANT. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/6916b759 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/6916b759 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/6916b759 Branch: refs/heads/DEPMGMT-INCLUDE-IT Commit: 6916b759a66ab00398557dd2cbcdd97751f74bcd Parents: 9f4a365 Author: Christian Schulte Authored: Tue Dec 13 20:16:20 2016 +0100 Committer: Christian Schulte Committed: Sun Feb 5 00:06:15 2017 +0100 -- .../project/DefaultProjectBuildingRequest.java | 19 +++ .../maven/project/ProjectModelResolver.java | 12 +++- 2 files changed, 22 insertions(+), 9 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/6916b759/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 dafbefd..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 @@ -80,22 +80,25 @@ public class DefaultProjectBuildingRequest pluginArtifactRepositories = new ArrayList<>(); } +@SuppressWarnings( "deprecation" ) public DefaultProjectBuildingRequest( ProjectBuildingRequest request ) { this(); -setProcessPlugins( request.isProcessPlugins() ); -setProfiles( request.getProfiles() ); setActiveProfileIds( request.getActiveProfileIds() ); +setBuildStartTime( request.getBuildStartTime() ); setInactiveProfileIds( request.getInactiveProfileIds() ); -setSystemProperties( request.getSystemProperties() ); -setUserProperties( request.getUserProperties() ); -setRemoteRepositories( request.getRemoteRepositories() ); -setPluginArtifactRepositories( request.getPluginArtifactRepositories() ); -setRepositorySession( request.getRepositorySession() ); setLocalRepository( request.getLocalRepository() ); -setBuildStartTime( request.getBuildStartTime() ); +setPluginArtifactRepositories( request.getPluginArtifactRepositories() ); +setProcessPlugins( request.isProcessPlugins() ); +setProfiles( request.getProfiles() ); setProject( request.getProject() ); +setRemoteRepositories( request.getRemoteRepositories() ); +setRepositoryMerging( request.getRepositoryMerging() ); +setRepositorySession( request.getRepositorySession() ); setResolveDependencies( request.isResolveDependencies() ); +setResolveVersionRanges( request.isResolveVersionRanges() ); +setSystemProperties( request.getSystemProperties() ); +setUserProperties( request.getUserProperties() ); setValidationLevel( request.getValidationLevel() ); } http://git-wip-us.apache.org/repos/asf/maven/blob/6916b759/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java -- diff --git a/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java b/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java index e5aa052..90cb599 100644 --- a/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java +++ b/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java @@ -79,6 +79,8 @@ public class ProjectModelResolver private final Set repositoryIds; +private final Set externalRepositoryIds; + private final ReactorModelPool modelPool; private final ProjectBuildingRequest.RepositoryMerging repositoryMerging; @@ -100,7 +102,13 @@ public class ProjectModelResolver this.repositories.addAll( externalRepositories ); this.repositoryMerging = repositoryMerging; this.repositoryIds = new HashSet<>(); +this.externalRepositoryIds = new HashSet<>(); this.modelPool = modelPool; +for ( final RemoteRepository repository : repositories ) +{ +this.repositoryIds.add( repository.getId() ); +this.externalRepositoryIds.add( repository.getId() ); +} } private ProjectModelResolver( ProjectModelResolver original ) @@ -114,6 +122,7 @@ public class ProjectModelResolver this.repositories = new ArrayList<>( original.repositories )
[07/10] maven git commit: [MNG-4347] import-scoped dependencies of direct dependencies are not resolved using profile modifications from settings.xml
[MNG-4347] import-scoped dependencies of direct dependencies are not resolved using profile modifications from settings.xml o Updated the 'DefaultModelResolver' to handle replacing repositories the same way the 'DefaultDependencyCollector' does. When the 'DefaultDependencyCollector' finds a repository in a child node with an id matching a repository already in use, it will only merge any mirror definitions but never change the repository already in use. The 'DefaultModelResolver' needs to follow the same logic. What has been provided must not change for consistency. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/9f4a3653 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/9f4a3653 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/9f4a3653 Branch: refs/heads/DEPMGMT-INCLUDE-IT Commit: 9f4a3653eae96afafc6e89be9240e877489006c6 Parents: 743be82 Author: Christian Schulte Authored: Tue Dec 13 03:30:32 2016 +0100 Committer: Christian Schulte Committed: Sun Feb 5 00:06:15 2017 +0100 -- .../maven/repository/internal/DefaultModelResolver.java | 12 ++-- 1 file changed, 10 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/9f4a3653/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java -- diff --git a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java index 260a770..0cc5b17 100644 --- a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java +++ b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java @@ -71,6 +71,8 @@ class DefaultModelResolver private final List externalRepositories; +private final Set externalRepositoryIds; + private final ArtifactResolver resolver; private final VersionRangeResolver versionRangeResolver; @@ -93,8 +95,13 @@ class DefaultModelResolver List externalRepositories = new ArrayList<>(); externalRepositories.addAll( repositories ); this.externalRepositories = Collections.unmodifiableList( externalRepositories ); - this.repositoryIds = new HashSet<>(); +this.externalRepositoryIds = new HashSet<>(); +for ( final RemoteRepository repository : this.repositories ) +{ +this.repositoryIds.add( repository.getId() ); +this.externalRepositoryIds.add( repository.getId() ); +} } private DefaultModelResolver( DefaultModelResolver original ) @@ -108,6 +115,7 @@ class DefaultModelResolver this.repositories = new ArrayList<>( original.repositories ); this.externalRepositories = original.externalRepositories; this.repositoryIds = new HashSet<>( original.repositoryIds ); +this.externalRepositoryIds = new HashSet<>( original.externalRepositoryIds ); } @Override @@ -128,7 +136,7 @@ class DefaultModelResolver if ( !repositoryIds.add( repository.getId() ) ) { -if ( !replace ) +if ( !replace || this.externalRepositoryIds.contains( repository.getId() ) ) { return; }
[08/10] maven git commit: [MNG-5971] Imported dependencies should be available to inheritance processing
[MNG-5971] Imported dependencies should be available to inheritance processing o Updated the 'DefaultDependencyManagementImporter' to stop ignoring import dependency conflicts silently. Such conflicts need to be resolved manually by adding the conflicting dependency to the pom manually. o Updated to add support for an 'include' scope in dependency management processed before inheritance and interpolation. o Re-formatted 'DefaultModelBuilder'. o Documentation updates. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/8609e7d9 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/8609e7d9 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/8609e7d9 Branch: refs/heads/DEPMGMT-INCLUDE-IT Commit: 8609e7d9d6fb19745d8d517907133702f10f2400 Parents: 6916b75 Author: Christian Schulte Authored: Thu Feb 18 14:07:02 2016 +0100 Committer: Christian Schulte Committed: Sun Feb 5 00:07:50 2017 +0100 -- .../model/building/DefaultModelBuilder.java | 384 ++- .../building/DefaultModelBuildingResult.java| 26 +- .../model/building/ModelBuildingResult.java | 12 + .../DefaultDependencyManagementImporter.java| 213 +- maven-model-builder/src/site/apt/index.apt | 8 +- 5 files changed, 523 insertions(+), 120 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/8609e7d9/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java -- diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java index 9c505a9..77e40b0 100644 --- a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java +++ b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java @@ -24,6 +24,7 @@ import java.io.IOException; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; +import java.util.HashSet; import java.util.Iterator; import java.util.LinkedHashSet; import java.util.List; @@ -82,6 +83,7 @@ import static org.apache.maven.model.building.Result.newResult; public class DefaultModelBuilder implements ModelBuilder { + @Requirement private ModelProcessor modelProcessor; @@ -248,8 +250,8 @@ public class DefaultModelBuilder DefaultProfileActivationContext profileActivationContext = getProfileActivationContext( request ); problems.setSource( "(external profiles)" ); -List activeExternalProfiles = profileSelector.getActiveProfiles( request.getProfiles(), - profileActivationContext, problems ); +List activeExternalProfiles = +profileSelector.getActiveProfiles( request.getProfiles(), profileActivationContext, problems ); result.setActiveExternalProfiles( activeExternalProfiles ); @@ -296,8 +298,9 @@ public class DefaultModelBuilder profileActivationContext.setProjectProperties( tmpModel.getProperties() ); -List activePomProfiles = profileSelector.getActiveProfiles( rawModel.getProfiles(), - profileActivationContext, problems ); +List activePomProfiles = +profileSelector.getActiveProfiles( rawModel.getProfiles(), profileActivationContext, problems ); + currentData.setActiveProfiles( activePomProfiles ); Map interpolatedActivations = getProfileActivations( rawModel, false ); @@ -332,13 +335,13 @@ public class DefaultModelBuilder } else if ( currentData == resultData ) { // First iteration - add initial id after version resolution. -currentData.setGroupId( currentData.getRawModel().getGroupId() == null ? parentData.getGroupId() - : currentData.getRawModel() - .getGroupId() ); +currentData.setGroupId( currentData.getRawModel().getGroupId() == null +? parentData.getGroupId() +: currentData.getRawModel().getGroupId() ); -currentData.setVersion( currentData.getRawModel().getVersion() == null ? parentData.getVersion() - : currentData.getRawModel() -
[11/16] maven git commit: [MNG-5761] Dependency management is not transitive.
[MNG-5761] Dependency management is not transitive. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/9d4f54ae Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/9d4f54ae Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/9d4f54ae Branch: refs/heads/DEPMGMT-IT Commit: 9d4f54ae6fd63d136fea0ac581e1e5fa4a762dfa Parents: 8d63a62 Author: Christian Schulte Authored: Tue Dec 13 22:35:13 2016 +0100 Committer: Christian Schulte Committed: Sun Feb 5 00:08:37 2017 +0100 -- .../maven/artifact/AbstractArtifactComponentTestCase.java | 4 ++-- .../maven/repository/internal/MavenRepositorySystemUtils.java | 5 ++--- 2 files changed, 4 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/9d4f54ae/maven-compat/src/test/java/org/apache/maven/artifact/AbstractArtifactComponentTestCase.java -- diff --git a/maven-compat/src/test/java/org/apache/maven/artifact/AbstractArtifactComponentTestCase.java b/maven-compat/src/test/java/org/apache/maven/artifact/AbstractArtifactComponentTestCase.java index 0cdea19..8e054e5 100644 --- a/maven-compat/src/test/java/org/apache/maven/artifact/AbstractArtifactComponentTestCase.java +++ b/maven-compat/src/test/java/org/apache/maven/artifact/AbstractArtifactComponentTestCase.java @@ -39,7 +39,7 @@ import org.eclipse.aether.collection.DependencySelector; import org.eclipse.aether.collection.DependencyTraverser; import org.eclipse.aether.internal.impl.SimpleLocalRepositoryManagerFactory; import org.eclipse.aether.repository.LocalRepository; -import org.eclipse.aether.util.graph.manager.ClassicDependencyManager; +import org.eclipse.aether.util.graph.manager.TransitiveDependencyManager; import org.eclipse.aether.util.graph.selector.AndDependencySelector; import org.eclipse.aether.util.graph.selector.ExclusionDependencySelector; import org.eclipse.aether.util.graph.selector.OptionalDependencySelector; @@ -349,7 +349,7 @@ public abstract class AbstractArtifactComponentTestCase DependencyTraverser depTraverser = new FatArtifactTraverser(); session.setDependencyTraverser( depTraverser ); -DependencyManager depManager = new ClassicDependencyManager(); +DependencyManager depManager = new TransitiveDependencyManager(); session.setDependencyManager( depManager ); DependencySelector depFilter = new AndDependencySelector( new ScopeDependencySelector( "test", "provided" ), http://git-wip-us.apache.org/repos/asf/maven/blob/9d4f54ae/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/MavenRepositorySystemUtils.java -- diff --git a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/MavenRepositorySystemUtils.java b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/MavenRepositorySystemUtils.java index 1b11cb3..f6aeb11 100644 --- a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/MavenRepositorySystemUtils.java +++ b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/MavenRepositorySystemUtils.java @@ -20,7 +20,6 @@ package org.apache.maven.repository.internal; */ import java.util.Properties; - import org.eclipse.aether.DefaultRepositorySystemSession; import org.eclipse.aether.artifact.DefaultArtifactType; import org.eclipse.aether.collection.DependencyGraphTransformer; @@ -33,7 +32,7 @@ import org.eclipse.aether.impl.MetadataGeneratorFactory; import org.eclipse.aether.impl.VersionRangeResolver; import org.eclipse.aether.impl.VersionResolver; import org.eclipse.aether.util.artifact.DefaultArtifactTypeRegistry; -import org.eclipse.aether.util.graph.manager.ClassicDependencyManager; +import org.eclipse.aether.util.graph.manager.TransitiveDependencyManager; import org.eclipse.aether.util.graph.selector.AndDependencySelector; import org.eclipse.aether.util.graph.selector.ExclusionDependencySelector; import org.eclipse.aether.util.graph.selector.OptionalDependencySelector; @@ -95,7 +94,7 @@ public final class MavenRepositorySystemUtils DependencyTraverser depTraverser = new FatArtifactTraverser(); session.setDependencyTraverser( depTraverser ); -DependencyManager depManager = new ClassicDependencyManager(); +DependencyManager depManager = new TransitiveDependencyManager(); session.setDependencyManager( depManager ); DependencySelector depFilter =
[01/16] maven git commit: [MNG-2199] Support version ranges in parent elements [Forced Update!]
Repository: maven Updated Branches: refs/heads/DEPMGMT-IT a5faada11 -> 06a682364 (forced update) [MNG-2199] Support version ranges in parent elements o Updated to fix parent version range resolution broken since 3.2.3 and to remove parent version range resolution logic obsolete since Maven 3.2.3 which changed the initialization of MavenProject instances. o Updated local parent resolution to behave the same way remote parent resolution behaves. When referencing a parent using version ranges, inheriting the version or using version expressions should not be supported. It has been implemented that way for remote parent resolution as it got introduced in Maven 3.2.2. For local parent resolution the version in parent declarations had been ignored completely as of Maven 3.3.0 due to commit be3fb200326208ca4b8c41ebf16d5ae6b8049792 removing all local parent version validation. Work on fixing this is tracked by MNG-5840 released with Maven 3.3.9. This commit adds the final missing bits to make local and remote parent resolution behave the same way as much as possible. As an exception, remote parent resolution still is a bit more strict than local parent resolution due to a different API in use. When resolving a parent from a repository using version ranges, the ModelBuilder verifies the range in use to declare an upper bound. When resolving a parent locally using version ranges, those ranges are not required to declare an upper bound because the API in use does not support querying that. Authoring a POM relying on this difference should be considered a bug. o Added test cases to maven-core testing parent version range resolution for local and remote parent models. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/affddb2e Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/affddb2e Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/affddb2e Branch: refs/heads/DEPMGMT-IT Commit: affddb2e5d1dca0fc956fa61ca60a5843775f94c Parents: 1740265 Author: Christian Schulte Authored: Sat Dec 12 20:28:56 2015 +0100 Committer: Christian Schulte Committed: Sun Feb 5 00:00:31 2017 +0100 -- .../maven/project/DefaultProjectBuilder.java| 113 +--- .../project/DefaultProjectBuildingRequest.java | 15 ++- .../maven/project/ProjectBuildingRequest.java | 14 +- .../maven/project/ProjectModelResolver.java | 1 + .../project/AbstractMavenProjectTestCase.java | 11 ++ .../project/DefaultMavenProjectBuilderTest.java | 130 +++ .../repository/TestRepositoryConnector.java | 38 ++ .../org/apache/apache/1/apache-1.pom| 82 .../org/apache/apache/maven-metadata.xml| 13 ++ .../pom.xml | 12 ++ .../pom.xml | 11 ++ .../parent-version-range-external-valid/pom.xml | 11 ++ .../child/pom.xml | 12 ++ .../pom.xml | 7 + .../child/pom.xml | 11 ++ .../pom.xml | 7 + .../child/pom.xml | 11 ++ .../parent-version-range-local-valid/pom.xml| 7 + .../model/building/DefaultModelBuilder.java | 30 - .../internal/DefaultModelResolver.java | 1 + 20 files changed, 482 insertions(+), 55 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/affddb2e/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 d064ab4..869e584 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 @@ -43,7 +43,6 @@ import org.apache.maven.model.DependencyManagement; import org.apache.maven.model.DeploymentRepository; import org.apache.maven.model.Extension; import org.apache.maven.model.Model; -import org.apache.maven.model.Parent; import org.apache.maven.model.Plugin; import org.apache.maven.model.Profile; import org.apache.maven.model.ReportPlugin; @@ -73,9 +72,6 @@ import org.eclipse.aether.repository.RemoteRepository; import org.eclipse.aether.repository.WorkspaceRepository; import org.eclipse.aether.resolution.ArtifactRequest; import org.eclipse.aether.resolution.ArtifactResult; -import org.eclipse.aether.resolution.VersionRangeRequest; -import org.eclipse.aether.resolution.VersionRangeResolutionException; -import org.eclipse.aether.resolution.VersionRangeResult;
[08/16] maven git commit: o Updated version to 3.6.0-SNAPSHOT to make the ITs run.
o Updated version to 3.6.0-SNAPSHOT to make the ITs run. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/375e3bb0 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/375e3bb0 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/375e3bb0 Branch: refs/heads/DEPMGMT-IT Commit: 375e3bb068caed2a9eb4b377b0631c92375fec87 Parents: 8609e7d Author: Christian Schulte Authored: Tue Jan 31 03:15:47 2017 +0100 Committer: Christian Schulte Committed: Sun Feb 5 00:07:50 2017 +0100 -- apache-maven/pom.xml | 2 +- maven-artifact/pom.xml| 2 +- maven-builder-support/pom.xml | 2 +- maven-compat/pom.xml | 2 +- maven-core/pom.xml| 2 +- maven-embedder/pom.xml| 2 +- maven-model-builder/pom.xml | 2 +- maven-model/pom.xml | 2 +- maven-plugin-api/pom.xml | 2 +- maven-repository-metadata/pom.xml | 2 +- maven-resolver-provider/pom.xml | 2 +- maven-settings-builder/pom.xml| 2 +- maven-settings/pom.xml| 2 +- maven-slf4j-provider/pom.xml | 2 +- pom.xml | 2 +- 15 files changed, 15 insertions(+), 15 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/375e3bb0/apache-maven/pom.xml -- diff --git a/apache-maven/pom.xml b/apache-maven/pom.xml index d313f80..2c52eb0 100644 --- a/apache-maven/pom.xml +++ b/apache-maven/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.1-SNAPSHOT +3.6.0-SNAPSHOT apache-maven http://git-wip-us.apache.org/repos/asf/maven/blob/375e3bb0/maven-artifact/pom.xml -- diff --git a/maven-artifact/pom.xml b/maven-artifact/pom.xml index b13482b..089f4ac 100644 --- a/maven-artifact/pom.xml +++ b/maven-artifact/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.1-SNAPSHOT +3.6.0-SNAPSHOT maven-artifact http://git-wip-us.apache.org/repos/asf/maven/blob/375e3bb0/maven-builder-support/pom.xml -- diff --git a/maven-builder-support/pom.xml b/maven-builder-support/pom.xml index 5eb7903..6ca5ca2 100644 --- a/maven-builder-support/pom.xml +++ b/maven-builder-support/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.1-SNAPSHOT +3.6.0-SNAPSHOT maven-builder-support http://git-wip-us.apache.org/repos/asf/maven/blob/375e3bb0/maven-compat/pom.xml -- diff --git a/maven-compat/pom.xml b/maven-compat/pom.xml index b06d3f3..d4f53bd 100644 --- a/maven-compat/pom.xml +++ b/maven-compat/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.1-SNAPSHOT +3.6.0-SNAPSHOT maven-compat http://git-wip-us.apache.org/repos/asf/maven/blob/375e3bb0/maven-core/pom.xml -- diff --git a/maven-core/pom.xml b/maven-core/pom.xml index b10b329..4fdbe8a 100644 --- a/maven-core/pom.xml +++ b/maven-core/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.1-SNAPSHOT +3.6.0-SNAPSHOT maven-core http://git-wip-us.apache.org/repos/asf/maven/blob/375e3bb0/maven-embedder/pom.xml -- diff --git a/maven-embedder/pom.xml b/maven-embedder/pom.xml index 66e09a3..918d7d3 100644 --- a/maven-embedder/pom.xml +++ b/maven-embedder/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.1-SNAPSHOT +3.6.0-SNAPSHOT maven-embedder http://git-wip-us.apache.org/repos/asf/maven/blob/375e3bb0/maven-model-builder/pom.xml -- diff --git a/maven-model-builder/pom.xml b/maven-model-builder/pom.xml index 7cef99b..b645576 100644 --- a/maven-model-builder/pom.xml +++ b/maven-model-builder/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.1-SNAPSHOT +3.6.0-SNAPSHOT maven-model-builder http://git-wip-us.apache.org/repos/asf/maven/blob/375e3bb0/maven-model/pom.xml -- diff --git a/maven-model/pom.xml b/maven-model/pom.xml index aabb25d..0ed9879 100644 --- a/maven-model/pom.xml +++ b/maven-model/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.1-SNAPSHOT +3.6.0-SNAPSHOT maven-model http://git-wip-us.apache.org/repos/asf/maven/blob/375e3bb0/maven-plugin-api/pom.xml
[03/16] maven git commit: [MNG-5527] Dependency management import should support relocations.
[MNG-5527] Dependency management import should support relocations. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/95797415 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/95797415 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/95797415 Branch: refs/heads/DEPMGMT-IT Commit: 95797415d13dfd364df612716cfecf0c40c0d992 Parents: 758aad1 Author: Christian Schulte Authored: Tue Jun 21 21:35:40 2016 +0200 Committer: Christian Schulte Committed: Sun Feb 5 00:05:26 2017 +0100 -- .../model/building/DefaultModelBuilder.java | 190 --- 1 file changed, 125 insertions(+), 65 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/95797415/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java -- diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java index e07f8e9..b25d8f2 100644 --- a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java +++ b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java @@ -1119,8 +1119,6 @@ public class DefaultModelBuilder final WorkspaceModelResolver workspaceResolver = request.getWorkspaceModelResolver(); final ModelResolver modelResolver = request.getModelResolver(); -ModelBuildingRequest importRequest = null; - List importMgmts = null; for ( Iterator it = depMgmt.getDependencies().iterator(); it.hasNext(); ) @@ -1207,75 +1205,15 @@ public class DefaultModelBuilder } } -// no workspace resolver or workspace resolver returned null (i.e. model not in workspace) if ( importModel == null ) { -final ModelSource importSource; -try -{ -dependency = dependency.clone(); -importSource = modelResolver.resolveModel( dependency ); -final String resolvedId = -dependency.getGroupId() + ':' + dependency.getArtifactId() + ':' + dependency.getVersion(); +// no workspace resolver or workspace resolver returned null (i.e. model not in workspace) +importModel = this.buildImportModelFromRepository( request, dependency, importIds, problems ); -if ( !imported.equals( resolvedId ) && importIds.contains( resolvedId ) ) -{ -// A version range has been resolved to a cycle. -String message = "The dependencies of type=pom and with scope=import form a cycle: "; -for ( String modelId : importIds ) -{ -message += modelId + " -> "; -} -message += resolvedId; -problems.add( new ModelProblemCollectorRequest( Severity.ERROR, Version.BASE ). -setMessage( message ) ); - -continue; -} -} -catch ( UnresolvableModelException e ) +if ( importModel == null ) { -StringBuilder buffer = new StringBuilder( 256 ); -buffer.append( "Non-resolvable import POM" ); -if ( !containsCoordinates( e.getMessage(), groupId, artifactId, version ) ) -{ -buffer.append( " " ).append( ModelProblemUtils.toId( groupId, artifactId, version ) ); -} -buffer.append( ": " ).append( e.getMessage() ); - -problems.add( new ModelProblemCollectorRequest( Severity.ERROR, Version.BASE ) -.setMessage( buffer.toString() ).setLocation( dependency.getLocation( "" ) ) -.setException( e ) ); continue; } - -if ( importRequest == null ) -{ -importRequest = new DefaultModelBuildingRequest(); -importRequest.setValidationLevel( ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL ); -importRequest.setModelCache( request.getModelCache() ); -importRequest.setSystemProperties( request.getSystemProperties()
[09/16] maven git commit: [MNG-5971] Imported dependencies should be available to inheritance processing
[MNG-5971] Imported dependencies should be available to inheritance processing o Updated the 'DefaultDependencyManagementImporter' to stop ignoring import dependency conflicts silently. Such conflicts need to be resolved manually by adding the conflicting dependency to the pom manually. o Updated to add support for an 'include' scope in dependency management processed before inheritance and interpolation. o Re-formatted 'DefaultModelBuilder'. o Documentation updates. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/8609e7d9 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/8609e7d9 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/8609e7d9 Branch: refs/heads/DEPMGMT-IT Commit: 8609e7d9d6fb19745d8d517907133702f10f2400 Parents: 6916b75 Author: Christian Schulte Authored: Thu Feb 18 14:07:02 2016 +0100 Committer: Christian Schulte Committed: Sun Feb 5 00:07:50 2017 +0100 -- .../model/building/DefaultModelBuilder.java | 384 ++- .../building/DefaultModelBuildingResult.java| 26 +- .../model/building/ModelBuildingResult.java | 12 + .../DefaultDependencyManagementImporter.java| 213 +- maven-model-builder/src/site/apt/index.apt | 8 +- 5 files changed, 523 insertions(+), 120 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/8609e7d9/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java -- diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java index 9c505a9..77e40b0 100644 --- a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java +++ b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java @@ -24,6 +24,7 @@ import java.io.IOException; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; +import java.util.HashSet; import java.util.Iterator; import java.util.LinkedHashSet; import java.util.List; @@ -82,6 +83,7 @@ import static org.apache.maven.model.building.Result.newResult; public class DefaultModelBuilder implements ModelBuilder { + @Requirement private ModelProcessor modelProcessor; @@ -248,8 +250,8 @@ public class DefaultModelBuilder DefaultProfileActivationContext profileActivationContext = getProfileActivationContext( request ); problems.setSource( "(external profiles)" ); -List activeExternalProfiles = profileSelector.getActiveProfiles( request.getProfiles(), - profileActivationContext, problems ); +List activeExternalProfiles = +profileSelector.getActiveProfiles( request.getProfiles(), profileActivationContext, problems ); result.setActiveExternalProfiles( activeExternalProfiles ); @@ -296,8 +298,9 @@ public class DefaultModelBuilder profileActivationContext.setProjectProperties( tmpModel.getProperties() ); -List activePomProfiles = profileSelector.getActiveProfiles( rawModel.getProfiles(), - profileActivationContext, problems ); +List activePomProfiles = +profileSelector.getActiveProfiles( rawModel.getProfiles(), profileActivationContext, problems ); + currentData.setActiveProfiles( activePomProfiles ); Map interpolatedActivations = getProfileActivations( rawModel, false ); @@ -332,13 +335,13 @@ public class DefaultModelBuilder } else if ( currentData == resultData ) { // First iteration - add initial id after version resolution. -currentData.setGroupId( currentData.getRawModel().getGroupId() == null ? parentData.getGroupId() - : currentData.getRawModel() - .getGroupId() ); +currentData.setGroupId( currentData.getRawModel().getGroupId() == null +? parentData.getGroupId() +: currentData.getRawModel().getGroupId() ); -currentData.setVersion( currentData.getRawModel().getVersion() == null ? parentData.getVersion() - : currentData.getRawModel() -
[06/16] maven git commit: [MNG-5639] Support resolution of Import Scope POMs from Repo that contains a ${parameter}
[MNG-5639] Support resolution of Import Scope POMs from Repo that contains a ${parameter} o Updated to stop replacing external repositories when repository merging is set to REQUEST_DOMINANT. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/6916b759 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/6916b759 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/6916b759 Branch: refs/heads/DEPMGMT-IT Commit: 6916b759a66ab00398557dd2cbcdd97751f74bcd Parents: 9f4a365 Author: Christian Schulte Authored: Tue Dec 13 20:16:20 2016 +0100 Committer: Christian Schulte Committed: Sun Feb 5 00:06:15 2017 +0100 -- .../project/DefaultProjectBuildingRequest.java | 19 +++ .../maven/project/ProjectModelResolver.java | 12 +++- 2 files changed, 22 insertions(+), 9 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/6916b759/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 dafbefd..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 @@ -80,22 +80,25 @@ public class DefaultProjectBuildingRequest pluginArtifactRepositories = new ArrayList<>(); } +@SuppressWarnings( "deprecation" ) public DefaultProjectBuildingRequest( ProjectBuildingRequest request ) { this(); -setProcessPlugins( request.isProcessPlugins() ); -setProfiles( request.getProfiles() ); setActiveProfileIds( request.getActiveProfileIds() ); +setBuildStartTime( request.getBuildStartTime() ); setInactiveProfileIds( request.getInactiveProfileIds() ); -setSystemProperties( request.getSystemProperties() ); -setUserProperties( request.getUserProperties() ); -setRemoteRepositories( request.getRemoteRepositories() ); -setPluginArtifactRepositories( request.getPluginArtifactRepositories() ); -setRepositorySession( request.getRepositorySession() ); setLocalRepository( request.getLocalRepository() ); -setBuildStartTime( request.getBuildStartTime() ); +setPluginArtifactRepositories( request.getPluginArtifactRepositories() ); +setProcessPlugins( request.isProcessPlugins() ); +setProfiles( request.getProfiles() ); setProject( request.getProject() ); +setRemoteRepositories( request.getRemoteRepositories() ); +setRepositoryMerging( request.getRepositoryMerging() ); +setRepositorySession( request.getRepositorySession() ); setResolveDependencies( request.isResolveDependencies() ); +setResolveVersionRanges( request.isResolveVersionRanges() ); +setSystemProperties( request.getSystemProperties() ); +setUserProperties( request.getUserProperties() ); setValidationLevel( request.getValidationLevel() ); } http://git-wip-us.apache.org/repos/asf/maven/blob/6916b759/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java -- diff --git a/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java b/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java index e5aa052..90cb599 100644 --- a/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java +++ b/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java @@ -79,6 +79,8 @@ public class ProjectModelResolver private final Set repositoryIds; +private final Set externalRepositoryIds; + private final ReactorModelPool modelPool; private final ProjectBuildingRequest.RepositoryMerging repositoryMerging; @@ -100,7 +102,13 @@ public class ProjectModelResolver this.repositories.addAll( externalRepositories ); this.repositoryMerging = repositoryMerging; this.repositoryIds = new HashSet<>(); +this.externalRepositoryIds = new HashSet<>(); this.modelPool = modelPool; +for ( final RemoteRepository repository : repositories ) +{ +this.repositoryIds.add( repository.getId() ); +this.externalRepositoryIds.add( repository.getId() ); +} } private ProjectModelResolver( ProjectModelResolver original ) @@ -114,6 +122,7 @@ public class ProjectModelResolver this.repositories = new ArrayList<>( original.repositories );
[12/16] maven git commit: [MNG-5227] The 'optional' flag of a dependency should be manageable.
[MNG-5227] The 'optional' flag of a dependency should be manageable. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/af13a7b8 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/af13a7b8 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/af13a7b8 Branch: refs/heads/DEPMGMT-IT Commit: af13a7b8d161689b929048a4bf869ab5e294aeb5 Parents: dbf8e40 Author: Christian Schulte Authored: Wed Jan 27 03:46:11 2016 +0100 Committer: Christian Schulte Committed: Sun Feb 5 00:08:37 2017 +0100 -- .../maven/project/DefaultProjectDependenciesResolver.java| 8 .../management/DefaultDependencyManagementInjector.java | 7 --- 2 files changed, 8 insertions(+), 7 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/af13a7b8/maven-core/src/main/java/org/apache/maven/project/DefaultProjectDependenciesResolver.java -- diff --git a/maven-core/src/main/java/org/apache/maven/project/DefaultProjectDependenciesResolver.java b/maven-core/src/main/java/org/apache/maven/project/DefaultProjectDependenciesResolver.java index 2486057..0a3867e 100644 --- a/maven-core/src/main/java/org/apache/maven/project/DefaultProjectDependenciesResolver.java +++ b/maven-core/src/main/java/org/apache/maven/project/DefaultProjectDependenciesResolver.java @@ -273,6 +273,14 @@ public class DefaultProjectDependenciesResolver appendManagementSource( buffer, art, "version" ); buffer.append( ")" ); } + +Boolean premanagedOptional = DependencyManagerUtils.getPremanagedOptional( node ); +if ( premanagedOptional != null && !premanagedOptional.equals( dep.getOptional() ) ) +{ +buffer.append( " (optionality managed from " ).append( premanagedOptional ); +appendManagementSource( buffer, art, "optional" ); +buffer.append( ')' ); +} } else { http://git-wip-us.apache.org/repos/asf/maven/blob/af13a7b8/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 e611973..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 @@ -82,13 +82,6 @@ public class DefaultDependencyManagementInjector } @Override -protected void mergeDependency_Optional( Dependency target, Dependency source, boolean sourceDominant, - Map context ) -{ -// optional flag is not managed -} - -@Override protected void mergeDependency_Exclusions( Dependency target, Dependency source, boolean sourceDominant, Map context ) {
[05/16] maven git commit: o Updated to 3.5.1-SNAPSHOT to make the ITs run.
o Updated to 3.5.1-SNAPSHOT to make the ITs run. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/743be82c Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/743be82c Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/743be82c Branch: refs/heads/DEPMGMT-IT Commit: 743be82c37ddd2d73c7b7804cb881d141936140a Parents: fffa0db Author: Christian Schulte Authored: Tue Jan 31 03:17:58 2017 +0100 Committer: Christian Schulte Committed: Sun Feb 5 00:05:28 2017 +0100 -- apache-maven/pom.xml | 2 +- maven-artifact/pom.xml| 2 +- maven-builder-support/pom.xml | 2 +- maven-compat/pom.xml | 2 +- maven-core/pom.xml| 2 +- maven-embedder/pom.xml| 2 +- maven-model-builder/pom.xml | 2 +- maven-model/pom.xml | 2 +- maven-plugin-api/pom.xml | 2 +- maven-repository-metadata/pom.xml | 2 +- maven-resolver-provider/pom.xml | 2 +- maven-settings-builder/pom.xml| 2 +- maven-settings/pom.xml| 2 +- maven-slf4j-provider/pom.xml | 2 +- pom.xml | 2 +- 15 files changed, 15 insertions(+), 15 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/743be82c/apache-maven/pom.xml -- diff --git a/apache-maven/pom.xml b/apache-maven/pom.xml index 6fc5a73..d313f80 100644 --- a/apache-maven/pom.xml +++ b/apache-maven/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT apache-maven http://git-wip-us.apache.org/repos/asf/maven/blob/743be82c/maven-artifact/pom.xml -- diff --git a/maven-artifact/pom.xml b/maven-artifact/pom.xml index e3943c9..b13482b 100644 --- a/maven-artifact/pom.xml +++ b/maven-artifact/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT maven-artifact http://git-wip-us.apache.org/repos/asf/maven/blob/743be82c/maven-builder-support/pom.xml -- diff --git a/maven-builder-support/pom.xml b/maven-builder-support/pom.xml index 39eb161..5eb7903 100644 --- a/maven-builder-support/pom.xml +++ b/maven-builder-support/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT maven-builder-support http://git-wip-us.apache.org/repos/asf/maven/blob/743be82c/maven-compat/pom.xml -- diff --git a/maven-compat/pom.xml b/maven-compat/pom.xml index 2b205f7..b06d3f3 100644 --- a/maven-compat/pom.xml +++ b/maven-compat/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT maven-compat http://git-wip-us.apache.org/repos/asf/maven/blob/743be82c/maven-core/pom.xml -- diff --git a/maven-core/pom.xml b/maven-core/pom.xml index 95162bd..b10b329 100644 --- a/maven-core/pom.xml +++ b/maven-core/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT maven-core http://git-wip-us.apache.org/repos/asf/maven/blob/743be82c/maven-embedder/pom.xml -- diff --git a/maven-embedder/pom.xml b/maven-embedder/pom.xml index 30ad2ce..66e09a3 100644 --- a/maven-embedder/pom.xml +++ b/maven-embedder/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT maven-embedder http://git-wip-us.apache.org/repos/asf/maven/blob/743be82c/maven-model-builder/pom.xml -- diff --git a/maven-model-builder/pom.xml b/maven-model-builder/pom.xml index fbfd417..7cef99b 100644 --- a/maven-model-builder/pom.xml +++ b/maven-model-builder/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT maven-model-builder http://git-wip-us.apache.org/repos/asf/maven/blob/743be82c/maven-model/pom.xml -- diff --git a/maven-model/pom.xml b/maven-model/pom.xml index 41cf168..aabb25d 100644 --- a/maven-model/pom.xml +++ b/maven-model/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT maven-model http://git-wip-us.apache.org/repos/asf/maven/blob/743be82c/maven-plugin-api/pom.xml
[02/10] maven git commit: [MNG-4463] Dependency management import should support version ranges.
[MNG-4463] Dependency management import should support version ranges. o Extended the 'ModelResolver' interface to support resolving 'Dependency's in addition to 'Parent's. Closes #64 without merging. ITs are pending to be committed. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/758aad1b Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/758aad1b Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/758aad1b Branch: refs/heads/DEPMGMT-INCLUDE-IT Commit: 758aad1b1d30b0c10224bff498ad3c36bdf2ab09 Parents: affddb2 Author: Christian Schulte Authored: Sat Jan 30 19:17:34 2016 +0100 Committer: Christian Schulte Committed: Sun Feb 5 00:05:20 2017 +0100 -- .../maven/project/ProjectModelResolver.java | 83 +++ .../model/building/DefaultModelBuilder.java | 20 - .../maven/model/resolution/ModelResolver.java | 32 .../internal/DefaultModelResolver.java | 85 4 files changed, 186 insertions(+), 34 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/758aad1b/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java -- diff --git a/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java b/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java index 7b93217..e5aa052 100644 --- a/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java +++ b/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java @@ -26,6 +26,7 @@ import java.util.HashSet; import java.util.List; import java.util.Set; +import org.apache.maven.model.Dependency; import com.google.common.base.Predicate; import com.google.common.collect.Iterables; @@ -203,24 +204,26 @@ public class ProjectModelResolver return new FileModelSource( pomFile ); } -public ModelSource resolveModel( Parent parent ) +@Override +public ModelSource resolveModel( final Parent parent ) throws UnresolvableModelException { -Artifact artifact = new DefaultArtifact( parent.getGroupId(), parent.getArtifactId(), "", "pom", - parent.getVersion() ); - -VersionRangeRequest versionRangeRequest = new VersionRangeRequest( artifact, repositories, context ); -versionRangeRequest.setTrace( trace ); - try { -VersionRangeResult versionRangeResult = resolver.resolveVersionRange( session, versionRangeRequest ); +final Artifact artifact = new DefaultArtifact( parent.getGroupId(), parent.getArtifactId(), "", "pom", + parent.getVersion() ); + +final VersionRangeRequest versionRangeRequest = new VersionRangeRequest( artifact, repositories, context ); +versionRangeRequest.setTrace( trace ); + +final VersionRangeResult versionRangeResult = resolver.resolveVersionRange( session, versionRangeRequest ); if ( versionRangeResult.getHighestVersion() == null ) { -throw new UnresolvableModelException( "No versions matched the requested range '" + parent.getVersion() - + "'", parent.getGroupId(), parent.getArtifactId(), - parent.getVersion() ); +throw new UnresolvableModelException( +String.format( "No versions matched the requested parent version range '%s'", + parent.getVersion() ), +parent.getGroupId(), parent.getArtifactId(), parent.getVersion() ); } @@ -229,21 +232,69 @@ public class ProjectModelResolver && versionRangeResult.getVersionConstraint().getRange().getUpperBound() == null ) { // Message below is checked for in the MNG-2199 core IT. -throw new UnresolvableModelException( "The requested version range '" + parent.getVersion() - + "' does not specify an upper bound", parent.getGroupId(), - parent.getArtifactId(), parent.getVersion() ); +throw new UnresolvableModelException( +String.format( "The requested parent version range '%s' does not specify an upper bound", + parent.getVersion() ), +parent.getGroupId(), parent.getArtifactId(), parent.getVersion() ); } parent.setVersion( versionRangeResult.getHighestVersion().toStr
[14/16] maven git commit: [MNG-5935] Optional true getting lost in managed dependencies when transitive
[MNG-5935] Optional true getting lost in managed dependencies when transitive Updated to correctly map the optional flag of Maven model dependencies to Aether dependencies. Prior to this change all managed dependencies implicitly had the optional flag set to 'false' leading to Aether managing that flag to 'false' on all managed dependencies when transitive. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/10a4ab3a Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/10a4ab3a Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/10a4ab3a Branch: refs/heads/DEPMGMT-IT Commit: 10a4ab3a0b80dbb5005b65ad4e83559e1fcf12c0 Parents: af13a7b Author: Christian Schulte Authored: Thu Feb 11 08:45:19 2016 +0100 Committer: Christian Schulte Committed: Sun Feb 5 00:08:37 2017 +0100 -- .../src/main/java/org/apache/maven/RepositoryUtils.java | 7 ++- .../repository/internal/ArtifactDescriptorReaderDelegate.java | 6 +- 2 files changed, 11 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/10a4ab3a/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 86eab4e..52442b7 100644 --- a/maven-core/src/main/java/org/apache/maven/RepositoryUtils.java +++ b/maven-core/src/main/java/org/apache/maven/RepositoryUtils.java @@ -316,7 +316,12 @@ public class RepositoryUtils exclusions.add( toExclusion( exclusion ) ); } -Dependency result = new Dependency( artifact, dependency.getScope(), dependency.isOptional(), exclusions ); +Dependency result = new Dependency( artifact, +dependency.getScope(), +dependency.getOptional() != null +? dependency.isOptional() +: null, +exclusions ); return result; } http://git-wip-us.apache.org/repos/asf/maven/blob/10a4ab3a/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 53c0475..a5e2ffd 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 @@ -124,7 +124,11 @@ public class ArtifactDescriptorReaderDelegate exclusions.add( convert( exclusion ) ); } -Dependency result = new Dependency( artifact, dependency.getScope(), dependency.isOptional(), exclusions ); +Dependency result = new Dependency( artifact, dependency.getScope(), +dependency.getOptional() != null +? dependency.isOptional() +: null, +exclusions ); return result; }
[09/10] maven git commit: o Updated version to 3.6.0-SNAPSHOT to make the ITs run.
o Updated version to 3.6.0-SNAPSHOT to make the ITs run. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/375e3bb0 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/375e3bb0 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/375e3bb0 Branch: refs/heads/DEPMGMT-INCLUDE-IT Commit: 375e3bb068caed2a9eb4b377b0631c92375fec87 Parents: 8609e7d Author: Christian Schulte Authored: Tue Jan 31 03:15:47 2017 +0100 Committer: Christian Schulte Committed: Sun Feb 5 00:07:50 2017 +0100 -- apache-maven/pom.xml | 2 +- maven-artifact/pom.xml| 2 +- maven-builder-support/pom.xml | 2 +- maven-compat/pom.xml | 2 +- maven-core/pom.xml| 2 +- maven-embedder/pom.xml| 2 +- maven-model-builder/pom.xml | 2 +- maven-model/pom.xml | 2 +- maven-plugin-api/pom.xml | 2 +- maven-repository-metadata/pom.xml | 2 +- maven-resolver-provider/pom.xml | 2 +- maven-settings-builder/pom.xml| 2 +- maven-settings/pom.xml| 2 +- maven-slf4j-provider/pom.xml | 2 +- pom.xml | 2 +- 15 files changed, 15 insertions(+), 15 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/375e3bb0/apache-maven/pom.xml -- diff --git a/apache-maven/pom.xml b/apache-maven/pom.xml index d313f80..2c52eb0 100644 --- a/apache-maven/pom.xml +++ b/apache-maven/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.1-SNAPSHOT +3.6.0-SNAPSHOT apache-maven http://git-wip-us.apache.org/repos/asf/maven/blob/375e3bb0/maven-artifact/pom.xml -- diff --git a/maven-artifact/pom.xml b/maven-artifact/pom.xml index b13482b..089f4ac 100644 --- a/maven-artifact/pom.xml +++ b/maven-artifact/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.1-SNAPSHOT +3.6.0-SNAPSHOT maven-artifact http://git-wip-us.apache.org/repos/asf/maven/blob/375e3bb0/maven-builder-support/pom.xml -- diff --git a/maven-builder-support/pom.xml b/maven-builder-support/pom.xml index 5eb7903..6ca5ca2 100644 --- a/maven-builder-support/pom.xml +++ b/maven-builder-support/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.1-SNAPSHOT +3.6.0-SNAPSHOT maven-builder-support http://git-wip-us.apache.org/repos/asf/maven/blob/375e3bb0/maven-compat/pom.xml -- diff --git a/maven-compat/pom.xml b/maven-compat/pom.xml index b06d3f3..d4f53bd 100644 --- a/maven-compat/pom.xml +++ b/maven-compat/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.1-SNAPSHOT +3.6.0-SNAPSHOT maven-compat http://git-wip-us.apache.org/repos/asf/maven/blob/375e3bb0/maven-core/pom.xml -- diff --git a/maven-core/pom.xml b/maven-core/pom.xml index b10b329..4fdbe8a 100644 --- a/maven-core/pom.xml +++ b/maven-core/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.1-SNAPSHOT +3.6.0-SNAPSHOT maven-core http://git-wip-us.apache.org/repos/asf/maven/blob/375e3bb0/maven-embedder/pom.xml -- diff --git a/maven-embedder/pom.xml b/maven-embedder/pom.xml index 66e09a3..918d7d3 100644 --- a/maven-embedder/pom.xml +++ b/maven-embedder/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.1-SNAPSHOT +3.6.0-SNAPSHOT maven-embedder http://git-wip-us.apache.org/repos/asf/maven/blob/375e3bb0/maven-model-builder/pom.xml -- diff --git a/maven-model-builder/pom.xml b/maven-model-builder/pom.xml index 7cef99b..b645576 100644 --- a/maven-model-builder/pom.xml +++ b/maven-model-builder/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.1-SNAPSHOT +3.6.0-SNAPSHOT maven-model-builder http://git-wip-us.apache.org/repos/asf/maven/blob/375e3bb0/maven-model/pom.xml -- diff --git a/maven-model/pom.xml b/maven-model/pom.xml index aabb25d..0ed9879 100644 --- a/maven-model/pom.xml +++ b/maven-model/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.1-SNAPSHOT +3.6.0-SNAPSHOT maven-model http://git-wip-us.apache.org/repos/asf/maven/blob/375e3bb0/maven-plugin-api/
[01/10] maven git commit: [MNG-2199] Support version ranges in parent elements [Forced Update!]
Repository: maven Updated Branches: refs/heads/DEPMGMT-INCLUDE-IT def336ac6 -> 935c477aa (forced update) [MNG-2199] Support version ranges in parent elements o Updated to fix parent version range resolution broken since 3.2.3 and to remove parent version range resolution logic obsolete since Maven 3.2.3 which changed the initialization of MavenProject instances. o Updated local parent resolution to behave the same way remote parent resolution behaves. When referencing a parent using version ranges, inheriting the version or using version expressions should not be supported. It has been implemented that way for remote parent resolution as it got introduced in Maven 3.2.2. For local parent resolution the version in parent declarations had been ignored completely as of Maven 3.3.0 due to commit be3fb200326208ca4b8c41ebf16d5ae6b8049792 removing all local parent version validation. Work on fixing this is tracked by MNG-5840 released with Maven 3.3.9. This commit adds the final missing bits to make local and remote parent resolution behave the same way as much as possible. As an exception, remote parent resolution still is a bit more strict than local parent resolution due to a different API in use. When resolving a parent from a repository using version ranges, the ModelBuilder verifies the range in use to declare an upper bound. When resolving a parent locally using version ranges, those ranges are not required to declare an upper bound because the API in use does not support querying that. Authoring a POM relying on this difference should be considered a bug. o Added test cases to maven-core testing parent version range resolution for local and remote parent models. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/affddb2e Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/affddb2e Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/affddb2e Branch: refs/heads/DEPMGMT-INCLUDE-IT Commit: affddb2e5d1dca0fc956fa61ca60a5843775f94c Parents: 1740265 Author: Christian Schulte Authored: Sat Dec 12 20:28:56 2015 +0100 Committer: Christian Schulte Committed: Sun Feb 5 00:00:31 2017 +0100 -- .../maven/project/DefaultProjectBuilder.java| 113 +--- .../project/DefaultProjectBuildingRequest.java | 15 ++- .../maven/project/ProjectBuildingRequest.java | 14 +- .../maven/project/ProjectModelResolver.java | 1 + .../project/AbstractMavenProjectTestCase.java | 11 ++ .../project/DefaultMavenProjectBuilderTest.java | 130 +++ .../repository/TestRepositoryConnector.java | 38 ++ .../org/apache/apache/1/apache-1.pom| 82 .../org/apache/apache/maven-metadata.xml| 13 ++ .../pom.xml | 12 ++ .../pom.xml | 11 ++ .../parent-version-range-external-valid/pom.xml | 11 ++ .../child/pom.xml | 12 ++ .../pom.xml | 7 + .../child/pom.xml | 11 ++ .../pom.xml | 7 + .../child/pom.xml | 11 ++ .../parent-version-range-local-valid/pom.xml| 7 + .../model/building/DefaultModelBuilder.java | 30 - .../internal/DefaultModelResolver.java | 1 + 20 files changed, 482 insertions(+), 55 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/affddb2e/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 d064ab4..869e584 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 @@ -43,7 +43,6 @@ import org.apache.maven.model.DependencyManagement; import org.apache.maven.model.DeploymentRepository; import org.apache.maven.model.Extension; import org.apache.maven.model.Model; -import org.apache.maven.model.Parent; import org.apache.maven.model.Plugin; import org.apache.maven.model.Profile; import org.apache.maven.model.ReportPlugin; @@ -73,9 +72,6 @@ import org.eclipse.aether.repository.RemoteRepository; import org.eclipse.aether.repository.WorkspaceRepository; import org.eclipse.aether.resolution.ArtifactRequest; import org.eclipse.aether.resolution.ArtifactResult; -import org.eclipse.aether.resolution.VersionRangeRequest; -import org.eclipse.aether.resolution.VersionRangeResolutionException; -import org.eclipse.aether.resolution.Versio
[10/10] maven git commit: o Updated to run the ITs from the DEPMGMT-INCLUDE branch.
o Updated to run the ITs from the DEPMGMT-INCLUDE branch. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/935c477a Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/935c477a Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/935c477a Branch: refs/heads/DEPMGMT-INCLUDE-IT Commit: 935c477aaa5be3e90c06253f429ae17aac402aee Parents: 375e3bb Author: Christian Schulte Authored: Tue Jan 31 18:22:18 2017 +0100 Committer: Christian Schulte Committed: Sun Feb 5 00:10:53 2017 +0100 -- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/935c477a/Jenkinsfile -- diff --git a/Jenkinsfile b/Jenkinsfile index 5b82d78..73aac2c 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -19,7 +19,7 @@ properties([buildDiscarder(logRotator(artifactNumToKeepStr: '5', numToKeepStr: env.BRANCH_NAME=='master'?'10':'5'))]) -def itBranch='master' +def itBranch='DEPMGMT-INCLUDE' try { node('ubuntu') {
[04/10] maven git commit: [MNG-5600] Dependency management import should support exclusions.
[MNG-5600] Dependency management import should support exclusions. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/fffa0db5 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/fffa0db5 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/fffa0db5 Branch: refs/heads/DEPMGMT-INCLUDE-IT Commit: fffa0db507a7a019d6ec9a6bfc2a6cf8172ce4f1 Parents: 9579741 Author: Christian Schulte Authored: Sun Jun 19 16:32:25 2016 +0200 Committer: Christian Schulte Committed: Sun Feb 5 00:05:27 2017 +0100 -- .../model/building/DefaultModelBuilder.java | 59 +++- 1 file changed, 45 insertions(+), 14 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/fffa0db5/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java -- diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java index b25d8f2..9c505a9 100644 --- a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java +++ b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java @@ -19,7 +19,16 @@ package org.apache.maven.model.building; * under the License. */ - +import java.io.File; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.Iterator; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Map; +import java.util.Properties; import org.apache.commons.lang3.Validate; import org.apache.maven.artifact.versioning.DefaultArtifactVersion; import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException; @@ -28,6 +37,7 @@ import org.apache.maven.model.Activation; import org.apache.maven.model.Build; import org.apache.maven.model.Dependency; import org.apache.maven.model.DependencyManagement; +import org.apache.maven.model.Exclusion; import org.apache.maven.model.InputLocation; import org.apache.maven.model.InputSource; import org.apache.maven.model.Model; @@ -62,18 +72,6 @@ import org.apache.maven.model.superpom.SuperPomProvider; import org.apache.maven.model.validation.ModelValidator; import org.codehaus.plexus.component.annotations.Component; import org.codehaus.plexus.component.annotations.Requirement; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Iterator; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Map; -import java.util.Properties; - import static org.apache.maven.model.building.Result.error; import static org.apache.maven.model.building.Result.newResult; @@ -1223,7 +1221,40 @@ public class DefaultModelBuilder importMgmt = new DependencyManagement(); } -putCache( request.getModelCache(), groupId, artifactId, version, ModelCacheTag.IMPORT, importMgmt ); +// [MNG-5600] Dependency management import should support exclusions. +if ( !dependency.getExclusions().isEmpty() ) +{ +for ( final Exclusion exclusion : dependency.getExclusions() ) +{ +if ( exclusion.getGroupId() != null && exclusion.getArtifactId() != null ) +{ +for ( final Iterator dependencies = importMgmt.getDependencies().iterator(); + dependencies.hasNext(); ) +{ +final Dependency candidate = dependencies.next(); + +if ( ( exclusion.getGroupId().equals( "*" ) + || exclusion.getGroupId().equals( candidate.getGroupId() ) ) + && ( exclusion.getArtifactId().equals( "*" ) + || exclusion.getArtifactId().equals( candidate.getArtifactId() ) ) ) +{ +// Dependency excluded from import. +dependencies.remove(); +} +} +} +} + +for ( final Dependency includedDependency : importMgmt.getDependencies() ) +{ +includedDependency.getExclusions().addAll( dependency.getExclusions() ); +} +} +else +
[03/10] maven git commit: [MNG-5527] Dependency management import should support relocations.
[MNG-5527] Dependency management import should support relocations. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/95797415 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/95797415 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/95797415 Branch: refs/heads/DEPMGMT-INCLUDE-IT Commit: 95797415d13dfd364df612716cfecf0c40c0d992 Parents: 758aad1 Author: Christian Schulte Authored: Tue Jun 21 21:35:40 2016 +0200 Committer: Christian Schulte Committed: Sun Feb 5 00:05:26 2017 +0100 -- .../model/building/DefaultModelBuilder.java | 190 --- 1 file changed, 125 insertions(+), 65 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/95797415/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java -- diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java index e07f8e9..b25d8f2 100644 --- a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java +++ b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java @@ -1119,8 +1119,6 @@ public class DefaultModelBuilder final WorkspaceModelResolver workspaceResolver = request.getWorkspaceModelResolver(); final ModelResolver modelResolver = request.getModelResolver(); -ModelBuildingRequest importRequest = null; - List importMgmts = null; for ( Iterator it = depMgmt.getDependencies().iterator(); it.hasNext(); ) @@ -1207,75 +1205,15 @@ public class DefaultModelBuilder } } -// no workspace resolver or workspace resolver returned null (i.e. model not in workspace) if ( importModel == null ) { -final ModelSource importSource; -try -{ -dependency = dependency.clone(); -importSource = modelResolver.resolveModel( dependency ); -final String resolvedId = -dependency.getGroupId() + ':' + dependency.getArtifactId() + ':' + dependency.getVersion(); +// no workspace resolver or workspace resolver returned null (i.e. model not in workspace) +importModel = this.buildImportModelFromRepository( request, dependency, importIds, problems ); -if ( !imported.equals( resolvedId ) && importIds.contains( resolvedId ) ) -{ -// A version range has been resolved to a cycle. -String message = "The dependencies of type=pom and with scope=import form a cycle: "; -for ( String modelId : importIds ) -{ -message += modelId + " -> "; -} -message += resolvedId; -problems.add( new ModelProblemCollectorRequest( Severity.ERROR, Version.BASE ). -setMessage( message ) ); - -continue; -} -} -catch ( UnresolvableModelException e ) +if ( importModel == null ) { -StringBuilder buffer = new StringBuilder( 256 ); -buffer.append( "Non-resolvable import POM" ); -if ( !containsCoordinates( e.getMessage(), groupId, artifactId, version ) ) -{ -buffer.append( " " ).append( ModelProblemUtils.toId( groupId, artifactId, version ) ); -} -buffer.append( ": " ).append( e.getMessage() ); - -problems.add( new ModelProblemCollectorRequest( Severity.ERROR, Version.BASE ) -.setMessage( buffer.toString() ).setLocation( dependency.getLocation( "" ) ) -.setException( e ) ); continue; } - -if ( importRequest == null ) -{ -importRequest = new DefaultModelBuildingRequest(); -importRequest.setValidationLevel( ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL ); -importRequest.setModelCache( request.getModelCache() ); -importRequest.setSystemProperties( request.getSystemProp
[05/10] maven git commit: o Updated to 3.5.1-SNAPSHOT to make the ITs run.
o Updated to 3.5.1-SNAPSHOT to make the ITs run. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/743be82c Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/743be82c Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/743be82c Branch: refs/heads/DEPMGMT-INCLUDE-IT Commit: 743be82c37ddd2d73c7b7804cb881d141936140a Parents: fffa0db Author: Christian Schulte Authored: Tue Jan 31 03:17:58 2017 +0100 Committer: Christian Schulte Committed: Sun Feb 5 00:05:28 2017 +0100 -- apache-maven/pom.xml | 2 +- maven-artifact/pom.xml| 2 +- maven-builder-support/pom.xml | 2 +- maven-compat/pom.xml | 2 +- maven-core/pom.xml| 2 +- maven-embedder/pom.xml| 2 +- maven-model-builder/pom.xml | 2 +- maven-model/pom.xml | 2 +- maven-plugin-api/pom.xml | 2 +- maven-repository-metadata/pom.xml | 2 +- maven-resolver-provider/pom.xml | 2 +- maven-settings-builder/pom.xml| 2 +- maven-settings/pom.xml| 2 +- maven-slf4j-provider/pom.xml | 2 +- pom.xml | 2 +- 15 files changed, 15 insertions(+), 15 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/743be82c/apache-maven/pom.xml -- diff --git a/apache-maven/pom.xml b/apache-maven/pom.xml index 6fc5a73..d313f80 100644 --- a/apache-maven/pom.xml +++ b/apache-maven/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT apache-maven http://git-wip-us.apache.org/repos/asf/maven/blob/743be82c/maven-artifact/pom.xml -- diff --git a/maven-artifact/pom.xml b/maven-artifact/pom.xml index e3943c9..b13482b 100644 --- a/maven-artifact/pom.xml +++ b/maven-artifact/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT maven-artifact http://git-wip-us.apache.org/repos/asf/maven/blob/743be82c/maven-builder-support/pom.xml -- diff --git a/maven-builder-support/pom.xml b/maven-builder-support/pom.xml index 39eb161..5eb7903 100644 --- a/maven-builder-support/pom.xml +++ b/maven-builder-support/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT maven-builder-support http://git-wip-us.apache.org/repos/asf/maven/blob/743be82c/maven-compat/pom.xml -- diff --git a/maven-compat/pom.xml b/maven-compat/pom.xml index 2b205f7..b06d3f3 100644 --- a/maven-compat/pom.xml +++ b/maven-compat/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT maven-compat http://git-wip-us.apache.org/repos/asf/maven/blob/743be82c/maven-core/pom.xml -- diff --git a/maven-core/pom.xml b/maven-core/pom.xml index 95162bd..b10b329 100644 --- a/maven-core/pom.xml +++ b/maven-core/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT maven-core http://git-wip-us.apache.org/repos/asf/maven/blob/743be82c/maven-embedder/pom.xml -- diff --git a/maven-embedder/pom.xml b/maven-embedder/pom.xml index 30ad2ce..66e09a3 100644 --- a/maven-embedder/pom.xml +++ b/maven-embedder/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT maven-embedder http://git-wip-us.apache.org/repos/asf/maven/blob/743be82c/maven-model-builder/pom.xml -- diff --git a/maven-model-builder/pom.xml b/maven-model-builder/pom.xml index fbfd417..7cef99b 100644 --- a/maven-model-builder/pom.xml +++ b/maven-model-builder/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT maven-model-builder http://git-wip-us.apache.org/repos/asf/maven/blob/743be82c/maven-model/pom.xml -- diff --git a/maven-model/pom.xml b/maven-model/pom.xml index 41cf168..aabb25d 100644 --- a/maven-model/pom.xml +++ b/maven-model/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT maven-model http://git-wip-us.apache.org/repos/asf/maven/blob/743be82c/maven-plugin-api/pom.xml
[5/6] maven git commit: o Updated to 3.5.1-SNAPSHOT to make the ITs run.
o Updated to 3.5.1-SNAPSHOT to make the ITs run. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/743be82c Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/743be82c Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/743be82c Branch: refs/heads/DEPMGMT-IMPORT-IT Commit: 743be82c37ddd2d73c7b7804cb881d141936140a Parents: fffa0db Author: Christian Schulte Authored: Tue Jan 31 03:17:58 2017 +0100 Committer: Christian Schulte Committed: Sun Feb 5 00:05:28 2017 +0100 -- apache-maven/pom.xml | 2 +- maven-artifact/pom.xml| 2 +- maven-builder-support/pom.xml | 2 +- maven-compat/pom.xml | 2 +- maven-core/pom.xml| 2 +- maven-embedder/pom.xml| 2 +- maven-model-builder/pom.xml | 2 +- maven-model/pom.xml | 2 +- maven-plugin-api/pom.xml | 2 +- maven-repository-metadata/pom.xml | 2 +- maven-resolver-provider/pom.xml | 2 +- maven-settings-builder/pom.xml| 2 +- maven-settings/pom.xml| 2 +- maven-slf4j-provider/pom.xml | 2 +- pom.xml | 2 +- 15 files changed, 15 insertions(+), 15 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/743be82c/apache-maven/pom.xml -- diff --git a/apache-maven/pom.xml b/apache-maven/pom.xml index 6fc5a73..d313f80 100644 --- a/apache-maven/pom.xml +++ b/apache-maven/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT apache-maven http://git-wip-us.apache.org/repos/asf/maven/blob/743be82c/maven-artifact/pom.xml -- diff --git a/maven-artifact/pom.xml b/maven-artifact/pom.xml index e3943c9..b13482b 100644 --- a/maven-artifact/pom.xml +++ b/maven-artifact/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT maven-artifact http://git-wip-us.apache.org/repos/asf/maven/blob/743be82c/maven-builder-support/pom.xml -- diff --git a/maven-builder-support/pom.xml b/maven-builder-support/pom.xml index 39eb161..5eb7903 100644 --- a/maven-builder-support/pom.xml +++ b/maven-builder-support/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT maven-builder-support http://git-wip-us.apache.org/repos/asf/maven/blob/743be82c/maven-compat/pom.xml -- diff --git a/maven-compat/pom.xml b/maven-compat/pom.xml index 2b205f7..b06d3f3 100644 --- a/maven-compat/pom.xml +++ b/maven-compat/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT maven-compat http://git-wip-us.apache.org/repos/asf/maven/blob/743be82c/maven-core/pom.xml -- diff --git a/maven-core/pom.xml b/maven-core/pom.xml index 95162bd..b10b329 100644 --- a/maven-core/pom.xml +++ b/maven-core/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT maven-core http://git-wip-us.apache.org/repos/asf/maven/blob/743be82c/maven-embedder/pom.xml -- diff --git a/maven-embedder/pom.xml b/maven-embedder/pom.xml index 30ad2ce..66e09a3 100644 --- a/maven-embedder/pom.xml +++ b/maven-embedder/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT maven-embedder http://git-wip-us.apache.org/repos/asf/maven/blob/743be82c/maven-model-builder/pom.xml -- diff --git a/maven-model-builder/pom.xml b/maven-model-builder/pom.xml index fbfd417..7cef99b 100644 --- a/maven-model-builder/pom.xml +++ b/maven-model-builder/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT maven-model-builder http://git-wip-us.apache.org/repos/asf/maven/blob/743be82c/maven-model/pom.xml -- diff --git a/maven-model/pom.xml b/maven-model/pom.xml index 41cf168..aabb25d 100644 --- a/maven-model/pom.xml +++ b/maven-model/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT maven-model http://git-wip-us.apache.org/repos/asf/maven/blob/743be82c/maven-plugin-api/pom.xml -
[2/6] maven git commit: [MNG-4463] Dependency management import should support version ranges.
[MNG-4463] Dependency management import should support version ranges. o Extended the 'ModelResolver' interface to support resolving 'Dependency's in addition to 'Parent's. Closes #64 without merging. ITs are pending to be committed. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/758aad1b Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/758aad1b Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/758aad1b Branch: refs/heads/DEPMGMT-IMPORT-IT Commit: 758aad1b1d30b0c10224bff498ad3c36bdf2ab09 Parents: affddb2 Author: Christian Schulte Authored: Sat Jan 30 19:17:34 2016 +0100 Committer: Christian Schulte Committed: Sun Feb 5 00:05:20 2017 +0100 -- .../maven/project/ProjectModelResolver.java | 83 +++ .../model/building/DefaultModelBuilder.java | 20 - .../maven/model/resolution/ModelResolver.java | 32 .../internal/DefaultModelResolver.java | 85 4 files changed, 186 insertions(+), 34 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/758aad1b/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java -- diff --git a/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java b/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java index 7b93217..e5aa052 100644 --- a/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java +++ b/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java @@ -26,6 +26,7 @@ import java.util.HashSet; import java.util.List; import java.util.Set; +import org.apache.maven.model.Dependency; import com.google.common.base.Predicate; import com.google.common.collect.Iterables; @@ -203,24 +204,26 @@ public class ProjectModelResolver return new FileModelSource( pomFile ); } -public ModelSource resolveModel( Parent parent ) +@Override +public ModelSource resolveModel( final Parent parent ) throws UnresolvableModelException { -Artifact artifact = new DefaultArtifact( parent.getGroupId(), parent.getArtifactId(), "", "pom", - parent.getVersion() ); - -VersionRangeRequest versionRangeRequest = new VersionRangeRequest( artifact, repositories, context ); -versionRangeRequest.setTrace( trace ); - try { -VersionRangeResult versionRangeResult = resolver.resolveVersionRange( session, versionRangeRequest ); +final Artifact artifact = new DefaultArtifact( parent.getGroupId(), parent.getArtifactId(), "", "pom", + parent.getVersion() ); + +final VersionRangeRequest versionRangeRequest = new VersionRangeRequest( artifact, repositories, context ); +versionRangeRequest.setTrace( trace ); + +final VersionRangeResult versionRangeResult = resolver.resolveVersionRange( session, versionRangeRequest ); if ( versionRangeResult.getHighestVersion() == null ) { -throw new UnresolvableModelException( "No versions matched the requested range '" + parent.getVersion() - + "'", parent.getGroupId(), parent.getArtifactId(), - parent.getVersion() ); +throw new UnresolvableModelException( +String.format( "No versions matched the requested parent version range '%s'", + parent.getVersion() ), +parent.getGroupId(), parent.getArtifactId(), parent.getVersion() ); } @@ -229,21 +232,69 @@ public class ProjectModelResolver && versionRangeResult.getVersionConstraint().getRange().getUpperBound() == null ) { // Message below is checked for in the MNG-2199 core IT. -throw new UnresolvableModelException( "The requested version range '" + parent.getVersion() - + "' does not specify an upper bound", parent.getGroupId(), - parent.getArtifactId(), parent.getVersion() ); +throw new UnresolvableModelException( +String.format( "The requested parent version range '%s' does not specify an upper bound", + parent.getVersion() ), +parent.getGroupId(), parent.getArtifactId(), parent.getVersion() ); } parent.setVersion( versionRangeResult.getHighestVersion().toStri
[4/6] maven git commit: [MNG-5600] Dependency management import should support exclusions.
[MNG-5600] Dependency management import should support exclusions. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/fffa0db5 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/fffa0db5 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/fffa0db5 Branch: refs/heads/DEPMGMT-IMPORT-IT Commit: fffa0db507a7a019d6ec9a6bfc2a6cf8172ce4f1 Parents: 9579741 Author: Christian Schulte Authored: Sun Jun 19 16:32:25 2016 +0200 Committer: Christian Schulte Committed: Sun Feb 5 00:05:27 2017 +0100 -- .../model/building/DefaultModelBuilder.java | 59 +++- 1 file changed, 45 insertions(+), 14 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/fffa0db5/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java -- diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java index b25d8f2..9c505a9 100644 --- a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java +++ b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java @@ -19,7 +19,16 @@ package org.apache.maven.model.building; * under the License. */ - +import java.io.File; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.Iterator; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Map; +import java.util.Properties; import org.apache.commons.lang3.Validate; import org.apache.maven.artifact.versioning.DefaultArtifactVersion; import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException; @@ -28,6 +37,7 @@ import org.apache.maven.model.Activation; import org.apache.maven.model.Build; import org.apache.maven.model.Dependency; import org.apache.maven.model.DependencyManagement; +import org.apache.maven.model.Exclusion; import org.apache.maven.model.InputLocation; import org.apache.maven.model.InputSource; import org.apache.maven.model.Model; @@ -62,18 +72,6 @@ import org.apache.maven.model.superpom.SuperPomProvider; import org.apache.maven.model.validation.ModelValidator; import org.codehaus.plexus.component.annotations.Component; import org.codehaus.plexus.component.annotations.Requirement; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Iterator; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Map; -import java.util.Properties; - import static org.apache.maven.model.building.Result.error; import static org.apache.maven.model.building.Result.newResult; @@ -1223,7 +1221,40 @@ public class DefaultModelBuilder importMgmt = new DependencyManagement(); } -putCache( request.getModelCache(), groupId, artifactId, version, ModelCacheTag.IMPORT, importMgmt ); +// [MNG-5600] Dependency management import should support exclusions. +if ( !dependency.getExclusions().isEmpty() ) +{ +for ( final Exclusion exclusion : dependency.getExclusions() ) +{ +if ( exclusion.getGroupId() != null && exclusion.getArtifactId() != null ) +{ +for ( final Iterator dependencies = importMgmt.getDependencies().iterator(); + dependencies.hasNext(); ) +{ +final Dependency candidate = dependencies.next(); + +if ( ( exclusion.getGroupId().equals( "*" ) + || exclusion.getGroupId().equals( candidate.getGroupId() ) ) + && ( exclusion.getArtifactId().equals( "*" ) + || exclusion.getArtifactId().equals( candidate.getArtifactId() ) ) ) +{ +// Dependency excluded from import. +dependencies.remove(); +} +} +} +} + +for ( final Dependency includedDependency : importMgmt.getDependencies() ) +{ +includedDependency.getExclusions().addAll( dependency.getExclusions() ); +} +} +else +{
[3/6] maven git commit: [MNG-5527] Dependency management import should support relocations.
[MNG-5527] Dependency management import should support relocations. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/95797415 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/95797415 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/95797415 Branch: refs/heads/DEPMGMT-IMPORT-IT Commit: 95797415d13dfd364df612716cfecf0c40c0d992 Parents: 758aad1 Author: Christian Schulte Authored: Tue Jun 21 21:35:40 2016 +0200 Committer: Christian Schulte Committed: Sun Feb 5 00:05:26 2017 +0100 -- .../model/building/DefaultModelBuilder.java | 190 --- 1 file changed, 125 insertions(+), 65 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/95797415/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java -- diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java index e07f8e9..b25d8f2 100644 --- a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java +++ b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java @@ -1119,8 +1119,6 @@ public class DefaultModelBuilder final WorkspaceModelResolver workspaceResolver = request.getWorkspaceModelResolver(); final ModelResolver modelResolver = request.getModelResolver(); -ModelBuildingRequest importRequest = null; - List importMgmts = null; for ( Iterator it = depMgmt.getDependencies().iterator(); it.hasNext(); ) @@ -1207,75 +1205,15 @@ public class DefaultModelBuilder } } -// no workspace resolver or workspace resolver returned null (i.e. model not in workspace) if ( importModel == null ) { -final ModelSource importSource; -try -{ -dependency = dependency.clone(); -importSource = modelResolver.resolveModel( dependency ); -final String resolvedId = -dependency.getGroupId() + ':' + dependency.getArtifactId() + ':' + dependency.getVersion(); +// no workspace resolver or workspace resolver returned null (i.e. model not in workspace) +importModel = this.buildImportModelFromRepository( request, dependency, importIds, problems ); -if ( !imported.equals( resolvedId ) && importIds.contains( resolvedId ) ) -{ -// A version range has been resolved to a cycle. -String message = "The dependencies of type=pom and with scope=import form a cycle: "; -for ( String modelId : importIds ) -{ -message += modelId + " -> "; -} -message += resolvedId; -problems.add( new ModelProblemCollectorRequest( Severity.ERROR, Version.BASE ). -setMessage( message ) ); - -continue; -} -} -catch ( UnresolvableModelException e ) +if ( importModel == null ) { -StringBuilder buffer = new StringBuilder( 256 ); -buffer.append( "Non-resolvable import POM" ); -if ( !containsCoordinates( e.getMessage(), groupId, artifactId, version ) ) -{ -buffer.append( " " ).append( ModelProblemUtils.toId( groupId, artifactId, version ) ); -} -buffer.append( ": " ).append( e.getMessage() ); - -problems.add( new ModelProblemCollectorRequest( Severity.ERROR, Version.BASE ) -.setMessage( buffer.toString() ).setLocation( dependency.getLocation( "" ) ) -.setException( e ) ); continue; } - -if ( importRequest == null ) -{ -importRequest = new DefaultModelBuildingRequest(); -importRequest.setValidationLevel( ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL ); -importRequest.setModelCache( request.getModelCache() ); -importRequest.setSystemProperties( request.getSystemPrope
[6/6] maven git commit: o Updated to run the core ITs from the DEPMGMT-IMPORT branch.
o Updated to run the core ITs from the DEPMGMT-IMPORT branch. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/a99fa2d4 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/a99fa2d4 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/a99fa2d4 Branch: refs/heads/DEPMGMT-IMPORT-IT Commit: a99fa2d440396be243bd0f7968bee7a4e8cd0a09 Parents: 743be82 Author: Christian Schulte Authored: Tue Jan 31 01:43:32 2017 +0100 Committer: Christian Schulte Committed: Sun Feb 5 00:10:20 2017 +0100 -- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/a99fa2d4/Jenkinsfile -- diff --git a/Jenkinsfile b/Jenkinsfile index 5b82d78..138e824 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -19,7 +19,7 @@ properties([buildDiscarder(logRotator(artifactNumToKeepStr: '5', numToKeepStr: env.BRANCH_NAME=='master'?'10':'5'))]) -def itBranch='master' +def itBranch='DEPMGMT-IMPORT' try { node('ubuntu') {
[1/6] maven git commit: [MNG-2199] Support version ranges in parent elements [Forced Update!]
Repository: maven Updated Branches: refs/heads/DEPMGMT-IMPORT-IT c050eceec -> a99fa2d44 (forced update) [MNG-2199] Support version ranges in parent elements o Updated to fix parent version range resolution broken since 3.2.3 and to remove parent version range resolution logic obsolete since Maven 3.2.3 which changed the initialization of MavenProject instances. o Updated local parent resolution to behave the same way remote parent resolution behaves. When referencing a parent using version ranges, inheriting the version or using version expressions should not be supported. It has been implemented that way for remote parent resolution as it got introduced in Maven 3.2.2. For local parent resolution the version in parent declarations had been ignored completely as of Maven 3.3.0 due to commit be3fb200326208ca4b8c41ebf16d5ae6b8049792 removing all local parent version validation. Work on fixing this is tracked by MNG-5840 released with Maven 3.3.9. This commit adds the final missing bits to make local and remote parent resolution behave the same way as much as possible. As an exception, remote parent resolution still is a bit more strict than local parent resolution due to a different API in use. When resolving a parent from a repository using version ranges, the ModelBuilder verifies the range in use to declare an upper bound. When resolving a parent locally using version ranges, those ranges are not required to declare an upper bound because the API in use does not support querying that. Authoring a POM relying on this difference should be considered a bug. o Added test cases to maven-core testing parent version range resolution for local and remote parent models. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/affddb2e Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/affddb2e Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/affddb2e Branch: refs/heads/DEPMGMT-IMPORT-IT Commit: affddb2e5d1dca0fc956fa61ca60a5843775f94c Parents: 1740265 Author: Christian Schulte Authored: Sat Dec 12 20:28:56 2015 +0100 Committer: Christian Schulte Committed: Sun Feb 5 00:00:31 2017 +0100 -- .../maven/project/DefaultProjectBuilder.java| 113 +--- .../project/DefaultProjectBuildingRequest.java | 15 ++- .../maven/project/ProjectBuildingRequest.java | 14 +- .../maven/project/ProjectModelResolver.java | 1 + .../project/AbstractMavenProjectTestCase.java | 11 ++ .../project/DefaultMavenProjectBuilderTest.java | 130 +++ .../repository/TestRepositoryConnector.java | 38 ++ .../org/apache/apache/1/apache-1.pom| 82 .../org/apache/apache/maven-metadata.xml| 13 ++ .../pom.xml | 12 ++ .../pom.xml | 11 ++ .../parent-version-range-external-valid/pom.xml | 11 ++ .../child/pom.xml | 12 ++ .../pom.xml | 7 + .../child/pom.xml | 11 ++ .../pom.xml | 7 + .../child/pom.xml | 11 ++ .../parent-version-range-local-valid/pom.xml| 7 + .../model/building/DefaultModelBuilder.java | 30 - .../internal/DefaultModelResolver.java | 1 + 20 files changed, 482 insertions(+), 55 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/affddb2e/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 d064ab4..869e584 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 @@ -43,7 +43,6 @@ import org.apache.maven.model.DependencyManagement; import org.apache.maven.model.DeploymentRepository; import org.apache.maven.model.Extension; import org.apache.maven.model.Model; -import org.apache.maven.model.Parent; import org.apache.maven.model.Plugin; import org.apache.maven.model.Profile; import org.apache.maven.model.ReportPlugin; @@ -73,9 +72,6 @@ import org.eclipse.aether.repository.RemoteRepository; import org.eclipse.aether.repository.WorkspaceRepository; import org.eclipse.aether.resolution.ArtifactRequest; import org.eclipse.aether.resolution.ArtifactResult; -import org.eclipse.aether.resolution.VersionRangeRequest; -import org.eclipse.aether.resolution.VersionRangeResolutionException; -import org.eclipse.aether.resolution.VersionR
[1/2] maven git commit: [MNG-2199] Support version ranges in parent elements [Forced Update!]
Repository: maven Updated Branches: refs/heads/MNG-2199-IT 26c241c79 -> 37530a4e6 (forced update) [MNG-2199] Support version ranges in parent elements o Updated to fix parent version range resolution broken since 3.2.3 and to remove parent version range resolution logic obsolete since Maven 3.2.3 which changed the initialization of MavenProject instances. o Updated local parent resolution to behave the same way remote parent resolution behaves. When referencing a parent using version ranges, inheriting the version or using version expressions should not be supported. It has been implemented that way for remote parent resolution as it got introduced in Maven 3.2.2. For local parent resolution the version in parent declarations had been ignored completely as of Maven 3.3.0 due to commit be3fb200326208ca4b8c41ebf16d5ae6b8049792 removing all local parent version validation. Work on fixing this is tracked by MNG-5840 released with Maven 3.3.9. This commit adds the final missing bits to make local and remote parent resolution behave the same way as much as possible. As an exception, remote parent resolution still is a bit more strict than local parent resolution due to a different API in use. When resolving a parent from a repository using version ranges, the ModelBuilder verifies the range in use to declare an upper bound. When resolving a parent locally using version ranges, those ranges are not required to declare an upper bound because the API in use does not support querying that. Authoring a POM relying on this difference should be considered a bug. o Added test cases to maven-core testing parent version range resolution for local and remote parent models. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/affddb2e Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/affddb2e Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/affddb2e Branch: refs/heads/MNG-2199-IT Commit: affddb2e5d1dca0fc956fa61ca60a5843775f94c Parents: 1740265 Author: Christian Schulte Authored: Sat Dec 12 20:28:56 2015 +0100 Committer: Christian Schulte Committed: Sun Feb 5 00:00:31 2017 +0100 -- .../maven/project/DefaultProjectBuilder.java| 113 +--- .../project/DefaultProjectBuildingRequest.java | 15 ++- .../maven/project/ProjectBuildingRequest.java | 14 +- .../maven/project/ProjectModelResolver.java | 1 + .../project/AbstractMavenProjectTestCase.java | 11 ++ .../project/DefaultMavenProjectBuilderTest.java | 130 +++ .../repository/TestRepositoryConnector.java | 38 ++ .../org/apache/apache/1/apache-1.pom| 82 .../org/apache/apache/maven-metadata.xml| 13 ++ .../pom.xml | 12 ++ .../pom.xml | 11 ++ .../parent-version-range-external-valid/pom.xml | 11 ++ .../child/pom.xml | 12 ++ .../pom.xml | 7 + .../child/pom.xml | 11 ++ .../pom.xml | 7 + .../child/pom.xml | 11 ++ .../parent-version-range-local-valid/pom.xml| 7 + .../model/building/DefaultModelBuilder.java | 30 - .../internal/DefaultModelResolver.java | 1 + 20 files changed, 482 insertions(+), 55 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/affddb2e/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 d064ab4..869e584 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 @@ -43,7 +43,6 @@ import org.apache.maven.model.DependencyManagement; import org.apache.maven.model.DeploymentRepository; import org.apache.maven.model.Extension; import org.apache.maven.model.Model; -import org.apache.maven.model.Parent; import org.apache.maven.model.Plugin; import org.apache.maven.model.Profile; import org.apache.maven.model.ReportPlugin; @@ -73,9 +72,6 @@ import org.eclipse.aether.repository.RemoteRepository; import org.eclipse.aether.repository.WorkspaceRepository; import org.eclipse.aether.resolution.ArtifactRequest; import org.eclipse.aether.resolution.ArtifactResult; -import org.eclipse.aether.resolution.VersionRangeRequest; -import org.eclipse.aether.resolution.VersionRangeResolutionException; -import org.eclipse.aether.resolution.VersionRangeResult;
[2/2] maven git commit: o Updated to run the core integration tests from the MNG-2199 branch.
o Updated to run the core integration tests from the MNG-2199 branch. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/37530a4e Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/37530a4e Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/37530a4e Branch: refs/heads/MNG-2199-IT Commit: 37530a4e60ebfe4c6f7eec20358c1abb4779ad8c Parents: affddb2 Author: Christian Schulte Authored: Sat Jan 21 16:41:45 2017 +0100 Committer: Christian Schulte Committed: Sun Feb 5 00:09:15 2017 +0100 -- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/37530a4e/Jenkinsfile -- diff --git a/Jenkinsfile b/Jenkinsfile index 5b82d78..198914f 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -19,7 +19,7 @@ properties([buildDiscarder(logRotator(artifactNumToKeepStr: '5', numToKeepStr: env.BRANCH_NAME=='master'?'10':'5'))]) -def itBranch='master' +def itBranch='MNG-2199' try { node('ubuntu') {
[14/15] maven git commit: [MNG-5227] The 'optional' flag of a dependency should be manageable.
[MNG-5227] The 'optional' flag of a dependency should be manageable. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/af13a7b8 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/af13a7b8 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/af13a7b8 Branch: refs/heads/DEPMGMT Commit: af13a7b8d161689b929048a4bf869ab5e294aeb5 Parents: dbf8e40 Author: Christian Schulte Authored: Wed Jan 27 03:46:11 2016 +0100 Committer: Christian Schulte Committed: Sun Feb 5 00:08:37 2017 +0100 -- .../maven/project/DefaultProjectDependenciesResolver.java| 8 .../management/DefaultDependencyManagementInjector.java | 7 --- 2 files changed, 8 insertions(+), 7 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/af13a7b8/maven-core/src/main/java/org/apache/maven/project/DefaultProjectDependenciesResolver.java -- diff --git a/maven-core/src/main/java/org/apache/maven/project/DefaultProjectDependenciesResolver.java b/maven-core/src/main/java/org/apache/maven/project/DefaultProjectDependenciesResolver.java index 2486057..0a3867e 100644 --- a/maven-core/src/main/java/org/apache/maven/project/DefaultProjectDependenciesResolver.java +++ b/maven-core/src/main/java/org/apache/maven/project/DefaultProjectDependenciesResolver.java @@ -273,6 +273,14 @@ public class DefaultProjectDependenciesResolver appendManagementSource( buffer, art, "version" ); buffer.append( ")" ); } + +Boolean premanagedOptional = DependencyManagerUtils.getPremanagedOptional( node ); +if ( premanagedOptional != null && !premanagedOptional.equals( dep.getOptional() ) ) +{ +buffer.append( " (optionality managed from " ).append( premanagedOptional ); +appendManagementSource( buffer, art, "optional" ); +buffer.append( ')' ); +} } else { http://git-wip-us.apache.org/repos/asf/maven/blob/af13a7b8/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 e611973..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 @@ -82,13 +82,6 @@ public class DefaultDependencyManagementInjector } @Override -protected void mergeDependency_Optional( Dependency target, Dependency source, boolean sourceDominant, - Map context ) -{ -// optional flag is not managed -} - -@Override protected void mergeDependency_Exclusions( Dependency target, Dependency source, boolean sourceDominant, Map context ) {
[09/15] maven git commit: [MNG-5971] Imported dependencies should be available to inheritance processing
[MNG-5971] Imported dependencies should be available to inheritance processing o Updated the 'DefaultDependencyManagementImporter' to stop ignoring import dependency conflicts silently. Such conflicts need to be resolved manually by adding the conflicting dependency to the pom manually. o Updated to add support for an 'include' scope in dependency management processed before inheritance and interpolation. o Re-formatted 'DefaultModelBuilder'. o Documentation updates. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/8609e7d9 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/8609e7d9 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/8609e7d9 Branch: refs/heads/DEPMGMT Commit: 8609e7d9d6fb19745d8d517907133702f10f2400 Parents: 6916b75 Author: Christian Schulte Authored: Thu Feb 18 14:07:02 2016 +0100 Committer: Christian Schulte Committed: Sun Feb 5 00:07:50 2017 +0100 -- .../model/building/DefaultModelBuilder.java | 384 ++- .../building/DefaultModelBuildingResult.java| 26 +- .../model/building/ModelBuildingResult.java | 12 + .../DefaultDependencyManagementImporter.java| 213 +- maven-model-builder/src/site/apt/index.apt | 8 +- 5 files changed, 523 insertions(+), 120 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/8609e7d9/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java -- diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java index 9c505a9..77e40b0 100644 --- a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java +++ b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java @@ -24,6 +24,7 @@ import java.io.IOException; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; +import java.util.HashSet; import java.util.Iterator; import java.util.LinkedHashSet; import java.util.List; @@ -82,6 +83,7 @@ import static org.apache.maven.model.building.Result.newResult; public class DefaultModelBuilder implements ModelBuilder { + @Requirement private ModelProcessor modelProcessor; @@ -248,8 +250,8 @@ public class DefaultModelBuilder DefaultProfileActivationContext profileActivationContext = getProfileActivationContext( request ); problems.setSource( "(external profiles)" ); -List activeExternalProfiles = profileSelector.getActiveProfiles( request.getProfiles(), - profileActivationContext, problems ); +List activeExternalProfiles = +profileSelector.getActiveProfiles( request.getProfiles(), profileActivationContext, problems ); result.setActiveExternalProfiles( activeExternalProfiles ); @@ -296,8 +298,9 @@ public class DefaultModelBuilder profileActivationContext.setProjectProperties( tmpModel.getProperties() ); -List activePomProfiles = profileSelector.getActiveProfiles( rawModel.getProfiles(), - profileActivationContext, problems ); +List activePomProfiles = +profileSelector.getActiveProfiles( rawModel.getProfiles(), profileActivationContext, problems ); + currentData.setActiveProfiles( activePomProfiles ); Map interpolatedActivations = getProfileActivations( rawModel, false ); @@ -332,13 +335,13 @@ public class DefaultModelBuilder } else if ( currentData == resultData ) { // First iteration - add initial id after version resolution. -currentData.setGroupId( currentData.getRawModel().getGroupId() == null ? parentData.getGroupId() - : currentData.getRawModel() - .getGroupId() ); +currentData.setGroupId( currentData.getRawModel().getGroupId() == null +? parentData.getGroupId() +: currentData.getRawModel().getGroupId() ); -currentData.setVersion( currentData.getRawModel().getVersion() == null ? parentData.getVersion() - : currentData.getRawModel() -
[13/15] maven git commit: [MNG-5761] Dependency management is not transitive.
[MNG-5761] Dependency management is not transitive. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/9d4f54ae Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/9d4f54ae Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/9d4f54ae Branch: refs/heads/DEPMGMT Commit: 9d4f54ae6fd63d136fea0ac581e1e5fa4a762dfa Parents: 8d63a62 Author: Christian Schulte Authored: Tue Dec 13 22:35:13 2016 +0100 Committer: Christian Schulte Committed: Sun Feb 5 00:08:37 2017 +0100 -- .../maven/artifact/AbstractArtifactComponentTestCase.java | 4 ++-- .../maven/repository/internal/MavenRepositorySystemUtils.java | 5 ++--- 2 files changed, 4 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/9d4f54ae/maven-compat/src/test/java/org/apache/maven/artifact/AbstractArtifactComponentTestCase.java -- diff --git a/maven-compat/src/test/java/org/apache/maven/artifact/AbstractArtifactComponentTestCase.java b/maven-compat/src/test/java/org/apache/maven/artifact/AbstractArtifactComponentTestCase.java index 0cdea19..8e054e5 100644 --- a/maven-compat/src/test/java/org/apache/maven/artifact/AbstractArtifactComponentTestCase.java +++ b/maven-compat/src/test/java/org/apache/maven/artifact/AbstractArtifactComponentTestCase.java @@ -39,7 +39,7 @@ import org.eclipse.aether.collection.DependencySelector; import org.eclipse.aether.collection.DependencyTraverser; import org.eclipse.aether.internal.impl.SimpleLocalRepositoryManagerFactory; import org.eclipse.aether.repository.LocalRepository; -import org.eclipse.aether.util.graph.manager.ClassicDependencyManager; +import org.eclipse.aether.util.graph.manager.TransitiveDependencyManager; import org.eclipse.aether.util.graph.selector.AndDependencySelector; import org.eclipse.aether.util.graph.selector.ExclusionDependencySelector; import org.eclipse.aether.util.graph.selector.OptionalDependencySelector; @@ -349,7 +349,7 @@ public abstract class AbstractArtifactComponentTestCase DependencyTraverser depTraverser = new FatArtifactTraverser(); session.setDependencyTraverser( depTraverser ); -DependencyManager depManager = new ClassicDependencyManager(); +DependencyManager depManager = new TransitiveDependencyManager(); session.setDependencyManager( depManager ); DependencySelector depFilter = new AndDependencySelector( new ScopeDependencySelector( "test", "provided" ), http://git-wip-us.apache.org/repos/asf/maven/blob/9d4f54ae/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/MavenRepositorySystemUtils.java -- diff --git a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/MavenRepositorySystemUtils.java b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/MavenRepositorySystemUtils.java index 1b11cb3..f6aeb11 100644 --- a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/MavenRepositorySystemUtils.java +++ b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/MavenRepositorySystemUtils.java @@ -20,7 +20,6 @@ package org.apache.maven.repository.internal; */ import java.util.Properties; - import org.eclipse.aether.DefaultRepositorySystemSession; import org.eclipse.aether.artifact.DefaultArtifactType; import org.eclipse.aether.collection.DependencyGraphTransformer; @@ -33,7 +32,7 @@ import org.eclipse.aether.impl.MetadataGeneratorFactory; import org.eclipse.aether.impl.VersionRangeResolver; import org.eclipse.aether.impl.VersionResolver; import org.eclipse.aether.util.artifact.DefaultArtifactTypeRegistry; -import org.eclipse.aether.util.graph.manager.ClassicDependencyManager; +import org.eclipse.aether.util.graph.manager.TransitiveDependencyManager; import org.eclipse.aether.util.graph.selector.AndDependencySelector; import org.eclipse.aether.util.graph.selector.ExclusionDependencySelector; import org.eclipse.aether.util.graph.selector.OptionalDependencySelector; @@ -95,7 +94,7 @@ public final class MavenRepositorySystemUtils DependencyTraverser depTraverser = new FatArtifactTraverser(); session.setDependencyTraverser( depTraverser ); -DependencyManager depManager = new ClassicDependencyManager(); +DependencyManager depManager = new TransitiveDependencyManager(); session.setDependencyManager( depManager ); DependencySelector depFilter =
[03/15] maven git commit: [MNG-5527] Dependency management import should support relocations.
[MNG-5527] Dependency management import should support relocations. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/95797415 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/95797415 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/95797415 Branch: refs/heads/DEPMGMT Commit: 95797415d13dfd364df612716cfecf0c40c0d992 Parents: 758aad1 Author: Christian Schulte Authored: Tue Jun 21 21:35:40 2016 +0200 Committer: Christian Schulte Committed: Sun Feb 5 00:05:26 2017 +0100 -- .../model/building/DefaultModelBuilder.java | 190 --- 1 file changed, 125 insertions(+), 65 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/95797415/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java -- diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java index e07f8e9..b25d8f2 100644 --- a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java +++ b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java @@ -1119,8 +1119,6 @@ public class DefaultModelBuilder final WorkspaceModelResolver workspaceResolver = request.getWorkspaceModelResolver(); final ModelResolver modelResolver = request.getModelResolver(); -ModelBuildingRequest importRequest = null; - List importMgmts = null; for ( Iterator it = depMgmt.getDependencies().iterator(); it.hasNext(); ) @@ -1207,75 +1205,15 @@ public class DefaultModelBuilder } } -// no workspace resolver or workspace resolver returned null (i.e. model not in workspace) if ( importModel == null ) { -final ModelSource importSource; -try -{ -dependency = dependency.clone(); -importSource = modelResolver.resolveModel( dependency ); -final String resolvedId = -dependency.getGroupId() + ':' + dependency.getArtifactId() + ':' + dependency.getVersion(); +// no workspace resolver or workspace resolver returned null (i.e. model not in workspace) +importModel = this.buildImportModelFromRepository( request, dependency, importIds, problems ); -if ( !imported.equals( resolvedId ) && importIds.contains( resolvedId ) ) -{ -// A version range has been resolved to a cycle. -String message = "The dependencies of type=pom and with scope=import form a cycle: "; -for ( String modelId : importIds ) -{ -message += modelId + " -> "; -} -message += resolvedId; -problems.add( new ModelProblemCollectorRequest( Severity.ERROR, Version.BASE ). -setMessage( message ) ); - -continue; -} -} -catch ( UnresolvableModelException e ) +if ( importModel == null ) { -StringBuilder buffer = new StringBuilder( 256 ); -buffer.append( "Non-resolvable import POM" ); -if ( !containsCoordinates( e.getMessage(), groupId, artifactId, version ) ) -{ -buffer.append( " " ).append( ModelProblemUtils.toId( groupId, artifactId, version ) ); -} -buffer.append( ": " ).append( e.getMessage() ); - -problems.add( new ModelProblemCollectorRequest( Severity.ERROR, Version.BASE ) -.setMessage( buffer.toString() ).setLocation( dependency.getLocation( "" ) ) -.setException( e ) ); continue; } - -if ( importRequest == null ) -{ -importRequest = new DefaultModelBuildingRequest(); -importRequest.setValidationLevel( ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL ); -importRequest.setModelCache( request.getModelCache() ); -importRequest.setSystemProperties( request.getSystemProperties() );
[06/15] maven git commit: [MNG-5639] Support resolution of Import Scope POMs from Repo that contains a ${parameter}
[MNG-5639] Support resolution of Import Scope POMs from Repo that contains a ${parameter} o Updated to stop replacing external repositories when repository merging is set to REQUEST_DOMINANT. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/6916b759 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/6916b759 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/6916b759 Branch: refs/heads/DEPMGMT Commit: 6916b759a66ab00398557dd2cbcdd97751f74bcd Parents: 9f4a365 Author: Christian Schulte Authored: Tue Dec 13 20:16:20 2016 +0100 Committer: Christian Schulte Committed: Sun Feb 5 00:06:15 2017 +0100 -- .../project/DefaultProjectBuildingRequest.java | 19 +++ .../maven/project/ProjectModelResolver.java | 12 +++- 2 files changed, 22 insertions(+), 9 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/6916b759/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 dafbefd..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 @@ -80,22 +80,25 @@ public class DefaultProjectBuildingRequest pluginArtifactRepositories = new ArrayList<>(); } +@SuppressWarnings( "deprecation" ) public DefaultProjectBuildingRequest( ProjectBuildingRequest request ) { this(); -setProcessPlugins( request.isProcessPlugins() ); -setProfiles( request.getProfiles() ); setActiveProfileIds( request.getActiveProfileIds() ); +setBuildStartTime( request.getBuildStartTime() ); setInactiveProfileIds( request.getInactiveProfileIds() ); -setSystemProperties( request.getSystemProperties() ); -setUserProperties( request.getUserProperties() ); -setRemoteRepositories( request.getRemoteRepositories() ); -setPluginArtifactRepositories( request.getPluginArtifactRepositories() ); -setRepositorySession( request.getRepositorySession() ); setLocalRepository( request.getLocalRepository() ); -setBuildStartTime( request.getBuildStartTime() ); +setPluginArtifactRepositories( request.getPluginArtifactRepositories() ); +setProcessPlugins( request.isProcessPlugins() ); +setProfiles( request.getProfiles() ); setProject( request.getProject() ); +setRemoteRepositories( request.getRemoteRepositories() ); +setRepositoryMerging( request.getRepositoryMerging() ); +setRepositorySession( request.getRepositorySession() ); setResolveDependencies( request.isResolveDependencies() ); +setResolveVersionRanges( request.isResolveVersionRanges() ); +setSystemProperties( request.getSystemProperties() ); +setUserProperties( request.getUserProperties() ); setValidationLevel( request.getValidationLevel() ); } http://git-wip-us.apache.org/repos/asf/maven/blob/6916b759/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java -- diff --git a/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java b/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java index e5aa052..90cb599 100644 --- a/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java +++ b/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java @@ -79,6 +79,8 @@ public class ProjectModelResolver private final Set repositoryIds; +private final Set externalRepositoryIds; + private final ReactorModelPool modelPool; private final ProjectBuildingRequest.RepositoryMerging repositoryMerging; @@ -100,7 +102,13 @@ public class ProjectModelResolver this.repositories.addAll( externalRepositories ); this.repositoryMerging = repositoryMerging; this.repositoryIds = new HashSet<>(); +this.externalRepositoryIds = new HashSet<>(); this.modelPool = modelPool; +for ( final RemoteRepository repository : repositories ) +{ +this.repositoryIds.add( repository.getId() ); +this.externalRepositoryIds.add( repository.getId() ); +} } private ProjectModelResolver( ProjectModelResolver original ) @@ -114,6 +122,7 @@ public class ProjectModelResolver this.repositories = new ArrayList<>( original.repositories );
[10/15] maven git commit: [MNG-1577] dependencyManagement does not work for transitive dependencies
[MNG-1577] dependencyManagement does not work for transitive dependencies o Updated to correct an incorrect test case. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/8d63a62e Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/8d63a62e Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/8d63a62e Branch: refs/heads/DEPMGMT Commit: 8d63a62eb9e8705d36c4a674fb9e2f53f248dc6c Parents: 10a4ab3 Author: Christian Schulte Authored: Wed Feb 3 19:17:02 2016 +0100 Committer: Christian Schulte Committed: Sun Feb 5 00:08:37 2017 +0100 -- maven-compat/src/test/resources/inheritance-repo/t06/p0/p1/pom.xml | 2 -- maven-compat/src/test/resources/inheritance-repo/t06/p0/pom.xml| 2 -- 2 files changed, 4 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/8d63a62e/maven-compat/src/test/resources/inheritance-repo/t06/p0/p1/pom.xml -- diff --git a/maven-compat/src/test/resources/inheritance-repo/t06/p0/p1/pom.xml b/maven-compat/src/test/resources/inheritance-repo/t06/p0/p1/pom.xml index 4686219..2ac9544 100644 --- a/maven-compat/src/test/resources/inheritance-repo/t06/p0/p1/pom.xml +++ b/maven-compat/src/test/resources/inheritance-repo/t06/p0/p1/pom.xml @@ -24,8 +24,6 @@ maven-test t06-d 1.0 -test -false http://git-wip-us.apache.org/repos/asf/maven/blob/8d63a62e/maven-compat/src/test/resources/inheritance-repo/t06/p0/pom.xml -- diff --git a/maven-compat/src/test/resources/inheritance-repo/t06/p0/pom.xml b/maven-compat/src/test/resources/inheritance-repo/t06/p0/pom.xml index 60c540c..6a66cd1 100644 --- a/maven-compat/src/test/resources/inheritance-repo/t06/p0/pom.xml +++ b/maven-compat/src/test/resources/inheritance-repo/t06/p0/pom.xml @@ -29,8 +29,6 @@ maven-test t06-d 1.2 -test -false
[11/15] maven git commit: o Updated to Maven Resolver 1.2.0-SNAPSHOT.
o Updated to Maven Resolver 1.2.0-SNAPSHOT. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/dbf8e405 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/dbf8e405 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/dbf8e405 Branch: refs/heads/DEPMGMT Commit: dbf8e405a7c58e086565296c68fd6e6c8cecc705 Parents: 375e3bb Author: Christian Schulte Authored: Tue Jan 31 20:22:42 2017 +0100 Committer: Christian Schulte Committed: Sun Feb 5 00:08:37 2017 +0100 -- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/dbf8e405/pom.xml -- diff --git a/pom.xml b/pom.xml index 06d0977..57806e6 100644 --- a/pom.xml +++ b/pom.xml @@ -65,7 +65,7 @@ under the License. 1.7 1.8.3 1.3 -1.0.3 +1.2.0-SNAPSHOT 1.7.5 true
[07/15] maven git commit: [MNG-4347] import-scoped dependencies of direct dependencies are not resolved using profile modifications from settings.xml
[MNG-4347] import-scoped dependencies of direct dependencies are not resolved using profile modifications from settings.xml o Updated the 'DefaultModelResolver' to handle replacing repositories the same way the 'DefaultDependencyCollector' does. When the 'DefaultDependencyCollector' finds a repository in a child node with an id matching a repository already in use, it will only merge any mirror definitions but never change the repository already in use. The 'DefaultModelResolver' needs to follow the same logic. What has been provided must not change for consistency. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/9f4a3653 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/9f4a3653 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/9f4a3653 Branch: refs/heads/DEPMGMT Commit: 9f4a3653eae96afafc6e89be9240e877489006c6 Parents: 743be82 Author: Christian Schulte Authored: Tue Dec 13 03:30:32 2016 +0100 Committer: Christian Schulte Committed: Sun Feb 5 00:06:15 2017 +0100 -- .../maven/repository/internal/DefaultModelResolver.java | 12 ++-- 1 file changed, 10 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/9f4a3653/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java -- diff --git a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java index 260a770..0cc5b17 100644 --- a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java +++ b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java @@ -71,6 +71,8 @@ class DefaultModelResolver private final List externalRepositories; +private final Set externalRepositoryIds; + private final ArtifactResolver resolver; private final VersionRangeResolver versionRangeResolver; @@ -93,8 +95,13 @@ class DefaultModelResolver List externalRepositories = new ArrayList<>(); externalRepositories.addAll( repositories ); this.externalRepositories = Collections.unmodifiableList( externalRepositories ); - this.repositoryIds = new HashSet<>(); +this.externalRepositoryIds = new HashSet<>(); +for ( final RemoteRepository repository : this.repositories ) +{ +this.repositoryIds.add( repository.getId() ); +this.externalRepositoryIds.add( repository.getId() ); +} } private DefaultModelResolver( DefaultModelResolver original ) @@ -108,6 +115,7 @@ class DefaultModelResolver this.repositories = new ArrayList<>( original.repositories ); this.externalRepositories = original.externalRepositories; this.repositoryIds = new HashSet<>( original.repositoryIds ); +this.externalRepositoryIds = new HashSet<>( original.externalRepositoryIds ); } @Override @@ -128,7 +136,7 @@ class DefaultModelResolver if ( !repositoryIds.add( repository.getId() ) ) { -if ( !replace ) +if ( !replace || this.externalRepositoryIds.contains( repository.getId() ) ) { return; }
[05/15] maven git commit: o Updated to 3.5.1-SNAPSHOT to make the ITs run.
o Updated to 3.5.1-SNAPSHOT to make the ITs run. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/743be82c Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/743be82c Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/743be82c Branch: refs/heads/DEPMGMT Commit: 743be82c37ddd2d73c7b7804cb881d141936140a Parents: fffa0db Author: Christian Schulte Authored: Tue Jan 31 03:17:58 2017 +0100 Committer: Christian Schulte Committed: Sun Feb 5 00:05:28 2017 +0100 -- apache-maven/pom.xml | 2 +- maven-artifact/pom.xml| 2 +- maven-builder-support/pom.xml | 2 +- maven-compat/pom.xml | 2 +- maven-core/pom.xml| 2 +- maven-embedder/pom.xml| 2 +- maven-model-builder/pom.xml | 2 +- maven-model/pom.xml | 2 +- maven-plugin-api/pom.xml | 2 +- maven-repository-metadata/pom.xml | 2 +- maven-resolver-provider/pom.xml | 2 +- maven-settings-builder/pom.xml| 2 +- maven-settings/pom.xml| 2 +- maven-slf4j-provider/pom.xml | 2 +- pom.xml | 2 +- 15 files changed, 15 insertions(+), 15 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/743be82c/apache-maven/pom.xml -- diff --git a/apache-maven/pom.xml b/apache-maven/pom.xml index 6fc5a73..d313f80 100644 --- a/apache-maven/pom.xml +++ b/apache-maven/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT apache-maven http://git-wip-us.apache.org/repos/asf/maven/blob/743be82c/maven-artifact/pom.xml -- diff --git a/maven-artifact/pom.xml b/maven-artifact/pom.xml index e3943c9..b13482b 100644 --- a/maven-artifact/pom.xml +++ b/maven-artifact/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT maven-artifact http://git-wip-us.apache.org/repos/asf/maven/blob/743be82c/maven-builder-support/pom.xml -- diff --git a/maven-builder-support/pom.xml b/maven-builder-support/pom.xml index 39eb161..5eb7903 100644 --- a/maven-builder-support/pom.xml +++ b/maven-builder-support/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT maven-builder-support http://git-wip-us.apache.org/repos/asf/maven/blob/743be82c/maven-compat/pom.xml -- diff --git a/maven-compat/pom.xml b/maven-compat/pom.xml index 2b205f7..b06d3f3 100644 --- a/maven-compat/pom.xml +++ b/maven-compat/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT maven-compat http://git-wip-us.apache.org/repos/asf/maven/blob/743be82c/maven-core/pom.xml -- diff --git a/maven-core/pom.xml b/maven-core/pom.xml index 95162bd..b10b329 100644 --- a/maven-core/pom.xml +++ b/maven-core/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT maven-core http://git-wip-us.apache.org/repos/asf/maven/blob/743be82c/maven-embedder/pom.xml -- diff --git a/maven-embedder/pom.xml b/maven-embedder/pom.xml index 30ad2ce..66e09a3 100644 --- a/maven-embedder/pom.xml +++ b/maven-embedder/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT maven-embedder http://git-wip-us.apache.org/repos/asf/maven/blob/743be82c/maven-model-builder/pom.xml -- diff --git a/maven-model-builder/pom.xml b/maven-model-builder/pom.xml index fbfd417..7cef99b 100644 --- a/maven-model-builder/pom.xml +++ b/maven-model-builder/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT maven-model-builder http://git-wip-us.apache.org/repos/asf/maven/blob/743be82c/maven-model/pom.xml -- diff --git a/maven-model/pom.xml b/maven-model/pom.xml index 41cf168..aabb25d 100644 --- a/maven-model/pom.xml +++ b/maven-model/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT maven-model http://git-wip-us.apache.org/repos/asf/maven/blob/743be82c/maven-plugin-api/pom.xml ---
[12/15] maven git commit: [MNG-6135] Maven plugins and core extensions are not dependencies, they should be resolved the same way as projects.
[MNG-6135] Maven plugins and core extensions are not dependencies, they should be resolved the same way as projects. o Updated to use the '' element to decide the style of resolution as discussed on dev@. Plugins with prerequisites >= 3.6 get the correct resolution, all other plugins will be resolved with direct 'test' and 'provided' dependencies ignored but direct 'optional' dependencies. o During working on MNG-6135, it turned out that plugin dependency management also is applied to the dependencies declared for a plugin using the 'plugins/plugin/dependencies/dependency' element. Dependencies declared that way must not be overridden by any management. I added management for 'plexus-utils' in the core IT suite. This immediately made the ITs for MNG-4276 and MNG-4274 fail, because 'plexus-utils' got subject to management although a different version has been declared in the plugin declaration. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/f1a1fc6d Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/f1a1fc6d Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/f1a1fc6d Branch: refs/heads/DEPMGMT Commit: f1a1fc6dc27191882656057c5737c9fb81bbab21 Parents: 9d4f54a Author: Christian Schulte Authored: Sat Dec 17 03:07:04 2016 +0100 Committer: Christian Schulte Committed: Sun Feb 5 00:08:37 2017 +0100 -- .../java/org/apache/maven/RepositoryUtils.java | 12 +- .../DefaultPluginDependenciesResolver.java | 370 --- .../plugin/internal/PlexusUtilsInjector.java| 30 +- .../maven/plugin/internal/WagonExcluder.java| 14 +- 4 files changed, 344 insertions(+), 82 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/f1a1fc6d/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 52442b7..08749ea 100644 --- a/maven-core/src/main/java/org/apache/maven/RepositoryUtils.java +++ b/maven-core/src/main/java/org/apache/maven/RepositoryUtils.java @@ -114,12 +114,16 @@ public class RepositoryUtils List nodeTrail = new ArrayList<>( trail.size() + 1 ); nodeTrail.addAll( trail ); -nodeTrail.add( artifact.getId() ); -if ( filter == null || filter.accept( node, Collections.emptyList() ) ) +if ( artifact != null ) { -artifact.setDependencyTrail( nodeTrail ); -artifacts.add( artifact ); +nodeTrail.add( artifact.getId() ); + +if ( filter == null || filter.accept( node, Collections.emptyList() ) ) +{ +artifact.setDependencyTrail( nodeTrail ); +artifacts.add( artifact ); +} } toArtifacts( artifacts, node.getChildren(), nodeTrail, filter ); http://git-wip-us.apache.org/repos/asf/maven/blob/f1a1fc6d/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 b79b15f..80fd80d 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 @@ -20,10 +20,11 @@ package org.apache.maven.plugin.internal; */ import java.util.LinkedHashMap; +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; @@ -37,8 +38,11 @@ import org.eclipse.aether.RequestTrace; import org.eclipse.aether.artifact.Artifact; import org.eclipse.aether.artifact.DefaultArtifact; import org.eclipse.aether.collection.CollectRequest; +import org.eclipse.aether.collection.DependencyCollectionContext; import org.eclipse.aether.collection.DependencyCollectionException; import org.eclipse.aether.collection.DependencyGraphTransformer; +import org.eclipse.aether.collection.DependencyManagement; +import org.eclipse.aether.collection.DependencyManager; import org.eclipse.aether.collection.DependencySelector; import org.eclipse.aether.graph.DependencyFilter; import org.eclipse.aether.graph.DependencyN
[04/15] maven git commit: [MNG-5600] Dependency management import should support exclusions.
[MNG-5600] Dependency management import should support exclusions. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/fffa0db5 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/fffa0db5 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/fffa0db5 Branch: refs/heads/DEPMGMT Commit: fffa0db507a7a019d6ec9a6bfc2a6cf8172ce4f1 Parents: 9579741 Author: Christian Schulte Authored: Sun Jun 19 16:32:25 2016 +0200 Committer: Christian Schulte Committed: Sun Feb 5 00:05:27 2017 +0100 -- .../model/building/DefaultModelBuilder.java | 59 +++- 1 file changed, 45 insertions(+), 14 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/fffa0db5/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java -- diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java index b25d8f2..9c505a9 100644 --- a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java +++ b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java @@ -19,7 +19,16 @@ package org.apache.maven.model.building; * under the License. */ - +import java.io.File; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.Iterator; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Map; +import java.util.Properties; import org.apache.commons.lang3.Validate; import org.apache.maven.artifact.versioning.DefaultArtifactVersion; import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException; @@ -28,6 +37,7 @@ import org.apache.maven.model.Activation; import org.apache.maven.model.Build; import org.apache.maven.model.Dependency; import org.apache.maven.model.DependencyManagement; +import org.apache.maven.model.Exclusion; import org.apache.maven.model.InputLocation; import org.apache.maven.model.InputSource; import org.apache.maven.model.Model; @@ -62,18 +72,6 @@ import org.apache.maven.model.superpom.SuperPomProvider; import org.apache.maven.model.validation.ModelValidator; import org.codehaus.plexus.component.annotations.Component; import org.codehaus.plexus.component.annotations.Requirement; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Iterator; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Map; -import java.util.Properties; - import static org.apache.maven.model.building.Result.error; import static org.apache.maven.model.building.Result.newResult; @@ -1223,7 +1221,40 @@ public class DefaultModelBuilder importMgmt = new DependencyManagement(); } -putCache( request.getModelCache(), groupId, artifactId, version, ModelCacheTag.IMPORT, importMgmt ); +// [MNG-5600] Dependency management import should support exclusions. +if ( !dependency.getExclusions().isEmpty() ) +{ +for ( final Exclusion exclusion : dependency.getExclusions() ) +{ +if ( exclusion.getGroupId() != null && exclusion.getArtifactId() != null ) +{ +for ( final Iterator dependencies = importMgmt.getDependencies().iterator(); + dependencies.hasNext(); ) +{ +final Dependency candidate = dependencies.next(); + +if ( ( exclusion.getGroupId().equals( "*" ) + || exclusion.getGroupId().equals( candidate.getGroupId() ) ) + && ( exclusion.getArtifactId().equals( "*" ) + || exclusion.getArtifactId().equals( candidate.getArtifactId() ) ) ) +{ +// Dependency excluded from import. +dependencies.remove(); +} +} +} +} + +for ( final Dependency includedDependency : importMgmt.getDependencies() ) +{ +includedDependency.getExclusions().addAll( dependency.getExclusions() ); +} +} +else +{ +
[15/15] maven git commit: [MNG-5935] Optional true getting lost in managed dependencies when transitive
[MNG-5935] Optional true getting lost in managed dependencies when transitive Updated to correctly map the optional flag of Maven model dependencies to Aether dependencies. Prior to this change all managed dependencies implicitly had the optional flag set to 'false' leading to Aether managing that flag to 'false' on all managed dependencies when transitive. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/10a4ab3a Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/10a4ab3a Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/10a4ab3a Branch: refs/heads/DEPMGMT Commit: 10a4ab3a0b80dbb5005b65ad4e83559e1fcf12c0 Parents: af13a7b Author: Christian Schulte Authored: Thu Feb 11 08:45:19 2016 +0100 Committer: Christian Schulte Committed: Sun Feb 5 00:08:37 2017 +0100 -- .../src/main/java/org/apache/maven/RepositoryUtils.java | 7 ++- .../repository/internal/ArtifactDescriptorReaderDelegate.java | 6 +- 2 files changed, 11 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/10a4ab3a/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 86eab4e..52442b7 100644 --- a/maven-core/src/main/java/org/apache/maven/RepositoryUtils.java +++ b/maven-core/src/main/java/org/apache/maven/RepositoryUtils.java @@ -316,7 +316,12 @@ public class RepositoryUtils exclusions.add( toExclusion( exclusion ) ); } -Dependency result = new Dependency( artifact, dependency.getScope(), dependency.isOptional(), exclusions ); +Dependency result = new Dependency( artifact, +dependency.getScope(), +dependency.getOptional() != null +? dependency.isOptional() +: null, +exclusions ); return result; } http://git-wip-us.apache.org/repos/asf/maven/blob/10a4ab3a/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 53c0475..a5e2ffd 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 @@ -124,7 +124,11 @@ public class ArtifactDescriptorReaderDelegate exclusions.add( convert( exclusion ) ); } -Dependency result = new Dependency( artifact, dependency.getScope(), dependency.isOptional(), exclusions ); +Dependency result = new Dependency( artifact, dependency.getScope(), +dependency.getOptional() != null +? dependency.isOptional() +: null, +exclusions ); return result; }
[01/15] maven git commit: [MNG-2199] Support version ranges in parent elements [Forced Update!]
Repository: maven Updated Branches: refs/heads/DEPMGMT 2953f94a6 -> f1a1fc6dc (forced update) [MNG-2199] Support version ranges in parent elements o Updated to fix parent version range resolution broken since 3.2.3 and to remove parent version range resolution logic obsolete since Maven 3.2.3 which changed the initialization of MavenProject instances. o Updated local parent resolution to behave the same way remote parent resolution behaves. When referencing a parent using version ranges, inheriting the version or using version expressions should not be supported. It has been implemented that way for remote parent resolution as it got introduced in Maven 3.2.2. For local parent resolution the version in parent declarations had been ignored completely as of Maven 3.3.0 due to commit be3fb200326208ca4b8c41ebf16d5ae6b8049792 removing all local parent version validation. Work on fixing this is tracked by MNG-5840 released with Maven 3.3.9. This commit adds the final missing bits to make local and remote parent resolution behave the same way as much as possible. As an exception, remote parent resolution still is a bit more strict than local parent resolution due to a different API in use. When resolving a parent from a repository using version ranges, the ModelBuilder verifies the range in use to declare an upper bound. When resolving a parent locally using version ranges, those ranges are not required to declare an upper bound because the API in use does not support querying that. Authoring a POM relying on this difference should be considered a bug. o Added test cases to maven-core testing parent version range resolution for local and remote parent models. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/affddb2e Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/affddb2e Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/affddb2e Branch: refs/heads/DEPMGMT Commit: affddb2e5d1dca0fc956fa61ca60a5843775f94c Parents: 1740265 Author: Christian Schulte Authored: Sat Dec 12 20:28:56 2015 +0100 Committer: Christian Schulte Committed: Sun Feb 5 00:00:31 2017 +0100 -- .../maven/project/DefaultProjectBuilder.java| 113 +--- .../project/DefaultProjectBuildingRequest.java | 15 ++- .../maven/project/ProjectBuildingRequest.java | 14 +- .../maven/project/ProjectModelResolver.java | 1 + .../project/AbstractMavenProjectTestCase.java | 11 ++ .../project/DefaultMavenProjectBuilderTest.java | 130 +++ .../repository/TestRepositoryConnector.java | 38 ++ .../org/apache/apache/1/apache-1.pom| 82 .../org/apache/apache/maven-metadata.xml| 13 ++ .../pom.xml | 12 ++ .../pom.xml | 11 ++ .../parent-version-range-external-valid/pom.xml | 11 ++ .../child/pom.xml | 12 ++ .../pom.xml | 7 + .../child/pom.xml | 11 ++ .../pom.xml | 7 + .../child/pom.xml | 11 ++ .../parent-version-range-local-valid/pom.xml| 7 + .../model/building/DefaultModelBuilder.java | 30 - .../internal/DefaultModelResolver.java | 1 + 20 files changed, 482 insertions(+), 55 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/affddb2e/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 d064ab4..869e584 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 @@ -43,7 +43,6 @@ import org.apache.maven.model.DependencyManagement; import org.apache.maven.model.DeploymentRepository; import org.apache.maven.model.Extension; import org.apache.maven.model.Model; -import org.apache.maven.model.Parent; import org.apache.maven.model.Plugin; import org.apache.maven.model.Profile; import org.apache.maven.model.ReportPlugin; @@ -73,9 +72,6 @@ import org.eclipse.aether.repository.RemoteRepository; import org.eclipse.aether.repository.WorkspaceRepository; import org.eclipse.aether.resolution.ArtifactRequest; import org.eclipse.aether.resolution.ArtifactResult; -import org.eclipse.aether.resolution.VersionRangeRequest; -import org.eclipse.aether.resolution.VersionRangeResolutionException; -import org.eclipse.aether.resolution.VersionRangeResult; /**
[02/15] maven git commit: [MNG-4463] Dependency management import should support version ranges.
[MNG-4463] Dependency management import should support version ranges. o Extended the 'ModelResolver' interface to support resolving 'Dependency's in addition to 'Parent's. Closes #64 without merging. ITs are pending to be committed. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/758aad1b Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/758aad1b Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/758aad1b Branch: refs/heads/DEPMGMT Commit: 758aad1b1d30b0c10224bff498ad3c36bdf2ab09 Parents: affddb2 Author: Christian Schulte Authored: Sat Jan 30 19:17:34 2016 +0100 Committer: Christian Schulte Committed: Sun Feb 5 00:05:20 2017 +0100 -- .../maven/project/ProjectModelResolver.java | 83 +++ .../model/building/DefaultModelBuilder.java | 20 - .../maven/model/resolution/ModelResolver.java | 32 .../internal/DefaultModelResolver.java | 85 4 files changed, 186 insertions(+), 34 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/758aad1b/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java -- diff --git a/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java b/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java index 7b93217..e5aa052 100644 --- a/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java +++ b/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java @@ -26,6 +26,7 @@ import java.util.HashSet; import java.util.List; import java.util.Set; +import org.apache.maven.model.Dependency; import com.google.common.base.Predicate; import com.google.common.collect.Iterables; @@ -203,24 +204,26 @@ public class ProjectModelResolver return new FileModelSource( pomFile ); } -public ModelSource resolveModel( Parent parent ) +@Override +public ModelSource resolveModel( final Parent parent ) throws UnresolvableModelException { -Artifact artifact = new DefaultArtifact( parent.getGroupId(), parent.getArtifactId(), "", "pom", - parent.getVersion() ); - -VersionRangeRequest versionRangeRequest = new VersionRangeRequest( artifact, repositories, context ); -versionRangeRequest.setTrace( trace ); - try { -VersionRangeResult versionRangeResult = resolver.resolveVersionRange( session, versionRangeRequest ); +final Artifact artifact = new DefaultArtifact( parent.getGroupId(), parent.getArtifactId(), "", "pom", + parent.getVersion() ); + +final VersionRangeRequest versionRangeRequest = new VersionRangeRequest( artifact, repositories, context ); +versionRangeRequest.setTrace( trace ); + +final VersionRangeResult versionRangeResult = resolver.resolveVersionRange( session, versionRangeRequest ); if ( versionRangeResult.getHighestVersion() == null ) { -throw new UnresolvableModelException( "No versions matched the requested range '" + parent.getVersion() - + "'", parent.getGroupId(), parent.getArtifactId(), - parent.getVersion() ); +throw new UnresolvableModelException( +String.format( "No versions matched the requested parent version range '%s'", + parent.getVersion() ), +parent.getGroupId(), parent.getArtifactId(), parent.getVersion() ); } @@ -229,21 +232,69 @@ public class ProjectModelResolver && versionRangeResult.getVersionConstraint().getRange().getUpperBound() == null ) { // Message below is checked for in the MNG-2199 core IT. -throw new UnresolvableModelException( "The requested version range '" + parent.getVersion() - + "' does not specify an upper bound", parent.getGroupId(), - parent.getArtifactId(), parent.getVersion() ); +throw new UnresolvableModelException( +String.format( "The requested parent version range '%s' does not specify an upper bound", + parent.getVersion() ), +parent.getGroupId(), parent.getArtifactId(), parent.getVersion() ); } parent.setVersion( versionRangeResult.getHighestVersion().toString() ); +
[08/15] maven git commit: o Updated version to 3.6.0-SNAPSHOT to make the ITs run.
o Updated version to 3.6.0-SNAPSHOT to make the ITs run. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/375e3bb0 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/375e3bb0 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/375e3bb0 Branch: refs/heads/DEPMGMT Commit: 375e3bb068caed2a9eb4b377b0631c92375fec87 Parents: 8609e7d Author: Christian Schulte Authored: Tue Jan 31 03:15:47 2017 +0100 Committer: Christian Schulte Committed: Sun Feb 5 00:07:50 2017 +0100 -- apache-maven/pom.xml | 2 +- maven-artifact/pom.xml| 2 +- maven-builder-support/pom.xml | 2 +- maven-compat/pom.xml | 2 +- maven-core/pom.xml| 2 +- maven-embedder/pom.xml| 2 +- maven-model-builder/pom.xml | 2 +- maven-model/pom.xml | 2 +- maven-plugin-api/pom.xml | 2 +- maven-repository-metadata/pom.xml | 2 +- maven-resolver-provider/pom.xml | 2 +- maven-settings-builder/pom.xml| 2 +- maven-settings/pom.xml| 2 +- maven-slf4j-provider/pom.xml | 2 +- pom.xml | 2 +- 15 files changed, 15 insertions(+), 15 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/375e3bb0/apache-maven/pom.xml -- diff --git a/apache-maven/pom.xml b/apache-maven/pom.xml index d313f80..2c52eb0 100644 --- a/apache-maven/pom.xml +++ b/apache-maven/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.1-SNAPSHOT +3.6.0-SNAPSHOT apache-maven http://git-wip-us.apache.org/repos/asf/maven/blob/375e3bb0/maven-artifact/pom.xml -- diff --git a/maven-artifact/pom.xml b/maven-artifact/pom.xml index b13482b..089f4ac 100644 --- a/maven-artifact/pom.xml +++ b/maven-artifact/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.1-SNAPSHOT +3.6.0-SNAPSHOT maven-artifact http://git-wip-us.apache.org/repos/asf/maven/blob/375e3bb0/maven-builder-support/pom.xml -- diff --git a/maven-builder-support/pom.xml b/maven-builder-support/pom.xml index 5eb7903..6ca5ca2 100644 --- a/maven-builder-support/pom.xml +++ b/maven-builder-support/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.1-SNAPSHOT +3.6.0-SNAPSHOT maven-builder-support http://git-wip-us.apache.org/repos/asf/maven/blob/375e3bb0/maven-compat/pom.xml -- diff --git a/maven-compat/pom.xml b/maven-compat/pom.xml index b06d3f3..d4f53bd 100644 --- a/maven-compat/pom.xml +++ b/maven-compat/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.1-SNAPSHOT +3.6.0-SNAPSHOT maven-compat http://git-wip-us.apache.org/repos/asf/maven/blob/375e3bb0/maven-core/pom.xml -- diff --git a/maven-core/pom.xml b/maven-core/pom.xml index b10b329..4fdbe8a 100644 --- a/maven-core/pom.xml +++ b/maven-core/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.1-SNAPSHOT +3.6.0-SNAPSHOT maven-core http://git-wip-us.apache.org/repos/asf/maven/blob/375e3bb0/maven-embedder/pom.xml -- diff --git a/maven-embedder/pom.xml b/maven-embedder/pom.xml index 66e09a3..918d7d3 100644 --- a/maven-embedder/pom.xml +++ b/maven-embedder/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.1-SNAPSHOT +3.6.0-SNAPSHOT maven-embedder http://git-wip-us.apache.org/repos/asf/maven/blob/375e3bb0/maven-model-builder/pom.xml -- diff --git a/maven-model-builder/pom.xml b/maven-model-builder/pom.xml index 7cef99b..b645576 100644 --- a/maven-model-builder/pom.xml +++ b/maven-model-builder/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.1-SNAPSHOT +3.6.0-SNAPSHOT maven-model-builder http://git-wip-us.apache.org/repos/asf/maven/blob/375e3bb0/maven-model/pom.xml -- diff --git a/maven-model/pom.xml b/maven-model/pom.xml index aabb25d..0ed9879 100644 --- a/maven-model/pom.xml +++ b/maven-model/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.1-SNAPSHOT +3.6.0-SNAPSHOT maven-model http://git-wip-us.apache.org/repos/asf/maven/blob/375e3bb0/maven-plugin-api/pom.xml ---
[8/9] maven git commit: [MNG-5971] Imported dependencies should be available to inheritance processing
[MNG-5971] Imported dependencies should be available to inheritance processing o Updated the 'DefaultDependencyManagementImporter' to stop ignoring import dependency conflicts silently. Such conflicts need to be resolved manually by adding the conflicting dependency to the pom manually. o Updated to add support for an 'include' scope in dependency management processed before inheritance and interpolation. o Re-formatted 'DefaultModelBuilder'. o Documentation updates. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/8609e7d9 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/8609e7d9 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/8609e7d9 Branch: refs/heads/DEPMGMT-INCLUDE Commit: 8609e7d9d6fb19745d8d517907133702f10f2400 Parents: 6916b75 Author: Christian Schulte Authored: Thu Feb 18 14:07:02 2016 +0100 Committer: Christian Schulte Committed: Sun Feb 5 00:07:50 2017 +0100 -- .../model/building/DefaultModelBuilder.java | 384 ++- .../building/DefaultModelBuildingResult.java| 26 +- .../model/building/ModelBuildingResult.java | 12 + .../DefaultDependencyManagementImporter.java| 213 +- maven-model-builder/src/site/apt/index.apt | 8 +- 5 files changed, 523 insertions(+), 120 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/8609e7d9/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java -- diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java index 9c505a9..77e40b0 100644 --- a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java +++ b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java @@ -24,6 +24,7 @@ import java.io.IOException; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; +import java.util.HashSet; import java.util.Iterator; import java.util.LinkedHashSet; import java.util.List; @@ -82,6 +83,7 @@ import static org.apache.maven.model.building.Result.newResult; public class DefaultModelBuilder implements ModelBuilder { + @Requirement private ModelProcessor modelProcessor; @@ -248,8 +250,8 @@ public class DefaultModelBuilder DefaultProfileActivationContext profileActivationContext = getProfileActivationContext( request ); problems.setSource( "(external profiles)" ); -List activeExternalProfiles = profileSelector.getActiveProfiles( request.getProfiles(), - profileActivationContext, problems ); +List activeExternalProfiles = +profileSelector.getActiveProfiles( request.getProfiles(), profileActivationContext, problems ); result.setActiveExternalProfiles( activeExternalProfiles ); @@ -296,8 +298,9 @@ public class DefaultModelBuilder profileActivationContext.setProjectProperties( tmpModel.getProperties() ); -List activePomProfiles = profileSelector.getActiveProfiles( rawModel.getProfiles(), - profileActivationContext, problems ); +List activePomProfiles = +profileSelector.getActiveProfiles( rawModel.getProfiles(), profileActivationContext, problems ); + currentData.setActiveProfiles( activePomProfiles ); Map interpolatedActivations = getProfileActivations( rawModel, false ); @@ -332,13 +335,13 @@ public class DefaultModelBuilder } else if ( currentData == resultData ) { // First iteration - add initial id after version resolution. -currentData.setGroupId( currentData.getRawModel().getGroupId() == null ? parentData.getGroupId() - : currentData.getRawModel() - .getGroupId() ); +currentData.setGroupId( currentData.getRawModel().getGroupId() == null +? parentData.getGroupId() +: currentData.getRawModel().getGroupId() ); -currentData.setVersion( currentData.getRawModel().getVersion() == null ? parentData.getVersion() - : currentData.getRawModel() -
[7/9] maven git commit: [MNG-5639] Support resolution of Import Scope POMs from Repo that contains a ${parameter}
[MNG-5639] Support resolution of Import Scope POMs from Repo that contains a ${parameter} o Updated to stop replacing external repositories when repository merging is set to REQUEST_DOMINANT. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/6916b759 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/6916b759 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/6916b759 Branch: refs/heads/DEPMGMT-INCLUDE Commit: 6916b759a66ab00398557dd2cbcdd97751f74bcd Parents: 9f4a365 Author: Christian Schulte Authored: Tue Dec 13 20:16:20 2016 +0100 Committer: Christian Schulte Committed: Sun Feb 5 00:06:15 2017 +0100 -- .../project/DefaultProjectBuildingRequest.java | 19 +++ .../maven/project/ProjectModelResolver.java | 12 +++- 2 files changed, 22 insertions(+), 9 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/6916b759/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 dafbefd..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 @@ -80,22 +80,25 @@ public class DefaultProjectBuildingRequest pluginArtifactRepositories = new ArrayList<>(); } +@SuppressWarnings( "deprecation" ) public DefaultProjectBuildingRequest( ProjectBuildingRequest request ) { this(); -setProcessPlugins( request.isProcessPlugins() ); -setProfiles( request.getProfiles() ); setActiveProfileIds( request.getActiveProfileIds() ); +setBuildStartTime( request.getBuildStartTime() ); setInactiveProfileIds( request.getInactiveProfileIds() ); -setSystemProperties( request.getSystemProperties() ); -setUserProperties( request.getUserProperties() ); -setRemoteRepositories( request.getRemoteRepositories() ); -setPluginArtifactRepositories( request.getPluginArtifactRepositories() ); -setRepositorySession( request.getRepositorySession() ); setLocalRepository( request.getLocalRepository() ); -setBuildStartTime( request.getBuildStartTime() ); +setPluginArtifactRepositories( request.getPluginArtifactRepositories() ); +setProcessPlugins( request.isProcessPlugins() ); +setProfiles( request.getProfiles() ); setProject( request.getProject() ); +setRemoteRepositories( request.getRemoteRepositories() ); +setRepositoryMerging( request.getRepositoryMerging() ); +setRepositorySession( request.getRepositorySession() ); setResolveDependencies( request.isResolveDependencies() ); +setResolveVersionRanges( request.isResolveVersionRanges() ); +setSystemProperties( request.getSystemProperties() ); +setUserProperties( request.getUserProperties() ); setValidationLevel( request.getValidationLevel() ); } http://git-wip-us.apache.org/repos/asf/maven/blob/6916b759/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java -- diff --git a/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java b/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java index e5aa052..90cb599 100644 --- a/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java +++ b/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java @@ -79,6 +79,8 @@ public class ProjectModelResolver private final Set repositoryIds; +private final Set externalRepositoryIds; + private final ReactorModelPool modelPool; private final ProjectBuildingRequest.RepositoryMerging repositoryMerging; @@ -100,7 +102,13 @@ public class ProjectModelResolver this.repositories.addAll( externalRepositories ); this.repositoryMerging = repositoryMerging; this.repositoryIds = new HashSet<>(); +this.externalRepositoryIds = new HashSet<>(); this.modelPool = modelPool; +for ( final RemoteRepository repository : repositories ) +{ +this.repositoryIds.add( repository.getId() ); +this.externalRepositoryIds.add( repository.getId() ); +} } private ProjectModelResolver( ProjectModelResolver original ) @@ -114,6 +122,7 @@ public class ProjectModelResolver this.repositories = new ArrayList<>( original.repositories );
[1/9] maven git commit: [MNG-2199] Support version ranges in parent elements [Forced Update!]
Repository: maven Updated Branches: refs/heads/DEPMGMT-INCLUDE 11b79fa8b -> 375e3bb06 (forced update) [MNG-2199] Support version ranges in parent elements o Updated to fix parent version range resolution broken since 3.2.3 and to remove parent version range resolution logic obsolete since Maven 3.2.3 which changed the initialization of MavenProject instances. o Updated local parent resolution to behave the same way remote parent resolution behaves. When referencing a parent using version ranges, inheriting the version or using version expressions should not be supported. It has been implemented that way for remote parent resolution as it got introduced in Maven 3.2.2. For local parent resolution the version in parent declarations had been ignored completely as of Maven 3.3.0 due to commit be3fb200326208ca4b8c41ebf16d5ae6b8049792 removing all local parent version validation. Work on fixing this is tracked by MNG-5840 released with Maven 3.3.9. This commit adds the final missing bits to make local and remote parent resolution behave the same way as much as possible. As an exception, remote parent resolution still is a bit more strict than local parent resolution due to a different API in use. When resolving a parent from a repository using version ranges, the ModelBuilder verifies the range in use to declare an upper bound. When resolving a parent locally using version ranges, those ranges are not required to declare an upper bound because the API in use does not support querying that. Authoring a POM relying on this difference should be considered a bug. o Added test cases to maven-core testing parent version range resolution for local and remote parent models. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/affddb2e Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/affddb2e Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/affddb2e Branch: refs/heads/DEPMGMT-INCLUDE Commit: affddb2e5d1dca0fc956fa61ca60a5843775f94c Parents: 1740265 Author: Christian Schulte Authored: Sat Dec 12 20:28:56 2015 +0100 Committer: Christian Schulte Committed: Sun Feb 5 00:00:31 2017 +0100 -- .../maven/project/DefaultProjectBuilder.java| 113 +--- .../project/DefaultProjectBuildingRequest.java | 15 ++- .../maven/project/ProjectBuildingRequest.java | 14 +- .../maven/project/ProjectModelResolver.java | 1 + .../project/AbstractMavenProjectTestCase.java | 11 ++ .../project/DefaultMavenProjectBuilderTest.java | 130 +++ .../repository/TestRepositoryConnector.java | 38 ++ .../org/apache/apache/1/apache-1.pom| 82 .../org/apache/apache/maven-metadata.xml| 13 ++ .../pom.xml | 12 ++ .../pom.xml | 11 ++ .../parent-version-range-external-valid/pom.xml | 11 ++ .../child/pom.xml | 12 ++ .../pom.xml | 7 + .../child/pom.xml | 11 ++ .../pom.xml | 7 + .../child/pom.xml | 11 ++ .../parent-version-range-local-valid/pom.xml| 7 + .../model/building/DefaultModelBuilder.java | 30 - .../internal/DefaultModelResolver.java | 1 + 20 files changed, 482 insertions(+), 55 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/affddb2e/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 d064ab4..869e584 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 @@ -43,7 +43,6 @@ import org.apache.maven.model.DependencyManagement; import org.apache.maven.model.DeploymentRepository; import org.apache.maven.model.Extension; import org.apache.maven.model.Model; -import org.apache.maven.model.Parent; import org.apache.maven.model.Plugin; import org.apache.maven.model.Profile; import org.apache.maven.model.ReportPlugin; @@ -73,9 +72,6 @@ import org.eclipse.aether.repository.RemoteRepository; import org.eclipse.aether.repository.WorkspaceRepository; import org.eclipse.aether.resolution.ArtifactRequest; import org.eclipse.aether.resolution.ArtifactResult; -import org.eclipse.aether.resolution.VersionRangeRequest; -import org.eclipse.aether.resolution.VersionRangeResolutionException; -import org.eclipse.aether.resolution.VersionRange
[9/9] maven git commit: o Updated version to 3.6.0-SNAPSHOT to make the ITs run.
o Updated version to 3.6.0-SNAPSHOT to make the ITs run. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/375e3bb0 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/375e3bb0 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/375e3bb0 Branch: refs/heads/DEPMGMT-INCLUDE Commit: 375e3bb068caed2a9eb4b377b0631c92375fec87 Parents: 8609e7d Author: Christian Schulte Authored: Tue Jan 31 03:15:47 2017 +0100 Committer: Christian Schulte Committed: Sun Feb 5 00:07:50 2017 +0100 -- apache-maven/pom.xml | 2 +- maven-artifact/pom.xml| 2 +- maven-builder-support/pom.xml | 2 +- maven-compat/pom.xml | 2 +- maven-core/pom.xml| 2 +- maven-embedder/pom.xml| 2 +- maven-model-builder/pom.xml | 2 +- maven-model/pom.xml | 2 +- maven-plugin-api/pom.xml | 2 +- maven-repository-metadata/pom.xml | 2 +- maven-resolver-provider/pom.xml | 2 +- maven-settings-builder/pom.xml| 2 +- maven-settings/pom.xml| 2 +- maven-slf4j-provider/pom.xml | 2 +- pom.xml | 2 +- 15 files changed, 15 insertions(+), 15 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/375e3bb0/apache-maven/pom.xml -- diff --git a/apache-maven/pom.xml b/apache-maven/pom.xml index d313f80..2c52eb0 100644 --- a/apache-maven/pom.xml +++ b/apache-maven/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.1-SNAPSHOT +3.6.0-SNAPSHOT apache-maven http://git-wip-us.apache.org/repos/asf/maven/blob/375e3bb0/maven-artifact/pom.xml -- diff --git a/maven-artifact/pom.xml b/maven-artifact/pom.xml index b13482b..089f4ac 100644 --- a/maven-artifact/pom.xml +++ b/maven-artifact/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.1-SNAPSHOT +3.6.0-SNAPSHOT maven-artifact http://git-wip-us.apache.org/repos/asf/maven/blob/375e3bb0/maven-builder-support/pom.xml -- diff --git a/maven-builder-support/pom.xml b/maven-builder-support/pom.xml index 5eb7903..6ca5ca2 100644 --- a/maven-builder-support/pom.xml +++ b/maven-builder-support/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.1-SNAPSHOT +3.6.0-SNAPSHOT maven-builder-support http://git-wip-us.apache.org/repos/asf/maven/blob/375e3bb0/maven-compat/pom.xml -- diff --git a/maven-compat/pom.xml b/maven-compat/pom.xml index b06d3f3..d4f53bd 100644 --- a/maven-compat/pom.xml +++ b/maven-compat/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.1-SNAPSHOT +3.6.0-SNAPSHOT maven-compat http://git-wip-us.apache.org/repos/asf/maven/blob/375e3bb0/maven-core/pom.xml -- diff --git a/maven-core/pom.xml b/maven-core/pom.xml index b10b329..4fdbe8a 100644 --- a/maven-core/pom.xml +++ b/maven-core/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.1-SNAPSHOT +3.6.0-SNAPSHOT maven-core http://git-wip-us.apache.org/repos/asf/maven/blob/375e3bb0/maven-embedder/pom.xml -- diff --git a/maven-embedder/pom.xml b/maven-embedder/pom.xml index 66e09a3..918d7d3 100644 --- a/maven-embedder/pom.xml +++ b/maven-embedder/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.1-SNAPSHOT +3.6.0-SNAPSHOT maven-embedder http://git-wip-us.apache.org/repos/asf/maven/blob/375e3bb0/maven-model-builder/pom.xml -- diff --git a/maven-model-builder/pom.xml b/maven-model-builder/pom.xml index 7cef99b..b645576 100644 --- a/maven-model-builder/pom.xml +++ b/maven-model-builder/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.1-SNAPSHOT +3.6.0-SNAPSHOT maven-model-builder http://git-wip-us.apache.org/repos/asf/maven/blob/375e3bb0/maven-model/pom.xml -- diff --git a/maven-model/pom.xml b/maven-model/pom.xml index aabb25d..0ed9879 100644 --- a/maven-model/pom.xml +++ b/maven-model/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.1-SNAPSHOT +3.6.0-SNAPSHOT maven-model http://git-wip-us.apache.org/repos/asf/maven/blob/375e3bb0/maven-plugin-api/pom
[5/9] maven git commit: o Updated to 3.5.1-SNAPSHOT to make the ITs run.
o Updated to 3.5.1-SNAPSHOT to make the ITs run. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/743be82c Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/743be82c Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/743be82c Branch: refs/heads/DEPMGMT-INCLUDE Commit: 743be82c37ddd2d73c7b7804cb881d141936140a Parents: fffa0db Author: Christian Schulte Authored: Tue Jan 31 03:17:58 2017 +0100 Committer: Christian Schulte Committed: Sun Feb 5 00:05:28 2017 +0100 -- apache-maven/pom.xml | 2 +- maven-artifact/pom.xml| 2 +- maven-builder-support/pom.xml | 2 +- maven-compat/pom.xml | 2 +- maven-core/pom.xml| 2 +- maven-embedder/pom.xml| 2 +- maven-model-builder/pom.xml | 2 +- maven-model/pom.xml | 2 +- maven-plugin-api/pom.xml | 2 +- maven-repository-metadata/pom.xml | 2 +- maven-resolver-provider/pom.xml | 2 +- maven-settings-builder/pom.xml| 2 +- maven-settings/pom.xml| 2 +- maven-slf4j-provider/pom.xml | 2 +- pom.xml | 2 +- 15 files changed, 15 insertions(+), 15 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/743be82c/apache-maven/pom.xml -- diff --git a/apache-maven/pom.xml b/apache-maven/pom.xml index 6fc5a73..d313f80 100644 --- a/apache-maven/pom.xml +++ b/apache-maven/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT apache-maven http://git-wip-us.apache.org/repos/asf/maven/blob/743be82c/maven-artifact/pom.xml -- diff --git a/maven-artifact/pom.xml b/maven-artifact/pom.xml index e3943c9..b13482b 100644 --- a/maven-artifact/pom.xml +++ b/maven-artifact/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT maven-artifact http://git-wip-us.apache.org/repos/asf/maven/blob/743be82c/maven-builder-support/pom.xml -- diff --git a/maven-builder-support/pom.xml b/maven-builder-support/pom.xml index 39eb161..5eb7903 100644 --- a/maven-builder-support/pom.xml +++ b/maven-builder-support/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT maven-builder-support http://git-wip-us.apache.org/repos/asf/maven/blob/743be82c/maven-compat/pom.xml -- diff --git a/maven-compat/pom.xml b/maven-compat/pom.xml index 2b205f7..b06d3f3 100644 --- a/maven-compat/pom.xml +++ b/maven-compat/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT maven-compat http://git-wip-us.apache.org/repos/asf/maven/blob/743be82c/maven-core/pom.xml -- diff --git a/maven-core/pom.xml b/maven-core/pom.xml index 95162bd..b10b329 100644 --- a/maven-core/pom.xml +++ b/maven-core/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT maven-core http://git-wip-us.apache.org/repos/asf/maven/blob/743be82c/maven-embedder/pom.xml -- diff --git a/maven-embedder/pom.xml b/maven-embedder/pom.xml index 30ad2ce..66e09a3 100644 --- a/maven-embedder/pom.xml +++ b/maven-embedder/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT maven-embedder http://git-wip-us.apache.org/repos/asf/maven/blob/743be82c/maven-model-builder/pom.xml -- diff --git a/maven-model-builder/pom.xml b/maven-model-builder/pom.xml index fbfd417..7cef99b 100644 --- a/maven-model-builder/pom.xml +++ b/maven-model-builder/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT maven-model-builder http://git-wip-us.apache.org/repos/asf/maven/blob/743be82c/maven-model/pom.xml -- diff --git a/maven-model/pom.xml b/maven-model/pom.xml index 41cf168..aabb25d 100644 --- a/maven-model/pom.xml +++ b/maven-model/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT maven-model http://git-wip-us.apache.org/repos/asf/maven/blob/743be82c/maven-plugin-api/pom.xml ---
[6/9] maven git commit: [MNG-4347] import-scoped dependencies of direct dependencies are not resolved using profile modifications from settings.xml
[MNG-4347] import-scoped dependencies of direct dependencies are not resolved using profile modifications from settings.xml o Updated the 'DefaultModelResolver' to handle replacing repositories the same way the 'DefaultDependencyCollector' does. When the 'DefaultDependencyCollector' finds a repository in a child node with an id matching a repository already in use, it will only merge any mirror definitions but never change the repository already in use. The 'DefaultModelResolver' needs to follow the same logic. What has been provided must not change for consistency. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/9f4a3653 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/9f4a3653 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/9f4a3653 Branch: refs/heads/DEPMGMT-INCLUDE Commit: 9f4a3653eae96afafc6e89be9240e877489006c6 Parents: 743be82 Author: Christian Schulte Authored: Tue Dec 13 03:30:32 2016 +0100 Committer: Christian Schulte Committed: Sun Feb 5 00:06:15 2017 +0100 -- .../maven/repository/internal/DefaultModelResolver.java | 12 ++-- 1 file changed, 10 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/9f4a3653/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java -- diff --git a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java index 260a770..0cc5b17 100644 --- a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java +++ b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java @@ -71,6 +71,8 @@ class DefaultModelResolver private final List externalRepositories; +private final Set externalRepositoryIds; + private final ArtifactResolver resolver; private final VersionRangeResolver versionRangeResolver; @@ -93,8 +95,13 @@ class DefaultModelResolver List externalRepositories = new ArrayList<>(); externalRepositories.addAll( repositories ); this.externalRepositories = Collections.unmodifiableList( externalRepositories ); - this.repositoryIds = new HashSet<>(); +this.externalRepositoryIds = new HashSet<>(); +for ( final RemoteRepository repository : this.repositories ) +{ +this.repositoryIds.add( repository.getId() ); +this.externalRepositoryIds.add( repository.getId() ); +} } private DefaultModelResolver( DefaultModelResolver original ) @@ -108,6 +115,7 @@ class DefaultModelResolver this.repositories = new ArrayList<>( original.repositories ); this.externalRepositories = original.externalRepositories; this.repositoryIds = new HashSet<>( original.repositoryIds ); +this.externalRepositoryIds = new HashSet<>( original.externalRepositoryIds ); } @Override @@ -128,7 +136,7 @@ class DefaultModelResolver if ( !repositoryIds.add( repository.getId() ) ) { -if ( !replace ) +if ( !replace || this.externalRepositoryIds.contains( repository.getId() ) ) { return; }
[4/9] maven git commit: [MNG-5600] Dependency management import should support exclusions.
[MNG-5600] Dependency management import should support exclusions. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/fffa0db5 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/fffa0db5 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/fffa0db5 Branch: refs/heads/DEPMGMT-INCLUDE Commit: fffa0db507a7a019d6ec9a6bfc2a6cf8172ce4f1 Parents: 9579741 Author: Christian Schulte Authored: Sun Jun 19 16:32:25 2016 +0200 Committer: Christian Schulte Committed: Sun Feb 5 00:05:27 2017 +0100 -- .../model/building/DefaultModelBuilder.java | 59 +++- 1 file changed, 45 insertions(+), 14 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/fffa0db5/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java -- diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java index b25d8f2..9c505a9 100644 --- a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java +++ b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java @@ -19,7 +19,16 @@ package org.apache.maven.model.building; * under the License. */ - +import java.io.File; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.Iterator; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Map; +import java.util.Properties; import org.apache.commons.lang3.Validate; import org.apache.maven.artifact.versioning.DefaultArtifactVersion; import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException; @@ -28,6 +37,7 @@ import org.apache.maven.model.Activation; import org.apache.maven.model.Build; import org.apache.maven.model.Dependency; import org.apache.maven.model.DependencyManagement; +import org.apache.maven.model.Exclusion; import org.apache.maven.model.InputLocation; import org.apache.maven.model.InputSource; import org.apache.maven.model.Model; @@ -62,18 +72,6 @@ import org.apache.maven.model.superpom.SuperPomProvider; import org.apache.maven.model.validation.ModelValidator; import org.codehaus.plexus.component.annotations.Component; import org.codehaus.plexus.component.annotations.Requirement; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Iterator; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Map; -import java.util.Properties; - import static org.apache.maven.model.building.Result.error; import static org.apache.maven.model.building.Result.newResult; @@ -1223,7 +1221,40 @@ public class DefaultModelBuilder importMgmt = new DependencyManagement(); } -putCache( request.getModelCache(), groupId, artifactId, version, ModelCacheTag.IMPORT, importMgmt ); +// [MNG-5600] Dependency management import should support exclusions. +if ( !dependency.getExclusions().isEmpty() ) +{ +for ( final Exclusion exclusion : dependency.getExclusions() ) +{ +if ( exclusion.getGroupId() != null && exclusion.getArtifactId() != null ) +{ +for ( final Iterator dependencies = importMgmt.getDependencies().iterator(); + dependencies.hasNext(); ) +{ +final Dependency candidate = dependencies.next(); + +if ( ( exclusion.getGroupId().equals( "*" ) + || exclusion.getGroupId().equals( candidate.getGroupId() ) ) + && ( exclusion.getArtifactId().equals( "*" ) + || exclusion.getArtifactId().equals( candidate.getArtifactId() ) ) ) +{ +// Dependency excluded from import. +dependencies.remove(); +} +} +} +} + +for ( final Dependency includedDependency : importMgmt.getDependencies() ) +{ +includedDependency.getExclusions().addAll( dependency.getExclusions() ); +} +} +else +{ +
[3/9] maven git commit: [MNG-5527] Dependency management import should support relocations.
[MNG-5527] Dependency management import should support relocations. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/95797415 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/95797415 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/95797415 Branch: refs/heads/DEPMGMT-INCLUDE Commit: 95797415d13dfd364df612716cfecf0c40c0d992 Parents: 758aad1 Author: Christian Schulte Authored: Tue Jun 21 21:35:40 2016 +0200 Committer: Christian Schulte Committed: Sun Feb 5 00:05:26 2017 +0100 -- .../model/building/DefaultModelBuilder.java | 190 --- 1 file changed, 125 insertions(+), 65 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/95797415/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java -- diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java index e07f8e9..b25d8f2 100644 --- a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java +++ b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java @@ -1119,8 +1119,6 @@ public class DefaultModelBuilder final WorkspaceModelResolver workspaceResolver = request.getWorkspaceModelResolver(); final ModelResolver modelResolver = request.getModelResolver(); -ModelBuildingRequest importRequest = null; - List importMgmts = null; for ( Iterator it = depMgmt.getDependencies().iterator(); it.hasNext(); ) @@ -1207,75 +1205,15 @@ public class DefaultModelBuilder } } -// no workspace resolver or workspace resolver returned null (i.e. model not in workspace) if ( importModel == null ) { -final ModelSource importSource; -try -{ -dependency = dependency.clone(); -importSource = modelResolver.resolveModel( dependency ); -final String resolvedId = -dependency.getGroupId() + ':' + dependency.getArtifactId() + ':' + dependency.getVersion(); +// no workspace resolver or workspace resolver returned null (i.e. model not in workspace) +importModel = this.buildImportModelFromRepository( request, dependency, importIds, problems ); -if ( !imported.equals( resolvedId ) && importIds.contains( resolvedId ) ) -{ -// A version range has been resolved to a cycle. -String message = "The dependencies of type=pom and with scope=import form a cycle: "; -for ( String modelId : importIds ) -{ -message += modelId + " -> "; -} -message += resolvedId; -problems.add( new ModelProblemCollectorRequest( Severity.ERROR, Version.BASE ). -setMessage( message ) ); - -continue; -} -} -catch ( UnresolvableModelException e ) +if ( importModel == null ) { -StringBuilder buffer = new StringBuilder( 256 ); -buffer.append( "Non-resolvable import POM" ); -if ( !containsCoordinates( e.getMessage(), groupId, artifactId, version ) ) -{ -buffer.append( " " ).append( ModelProblemUtils.toId( groupId, artifactId, version ) ); -} -buffer.append( ": " ).append( e.getMessage() ); - -problems.add( new ModelProblemCollectorRequest( Severity.ERROR, Version.BASE ) -.setMessage( buffer.toString() ).setLocation( dependency.getLocation( "" ) ) -.setException( e ) ); continue; } - -if ( importRequest == null ) -{ -importRequest = new DefaultModelBuildingRequest(); -importRequest.setValidationLevel( ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL ); -importRequest.setModelCache( request.getModelCache() ); -importRequest.setSystemProperties( request.getSystemPropert
[2/9] maven git commit: [MNG-4463] Dependency management import should support version ranges.
[MNG-4463] Dependency management import should support version ranges. o Extended the 'ModelResolver' interface to support resolving 'Dependency's in addition to 'Parent's. Closes #64 without merging. ITs are pending to be committed. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/758aad1b Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/758aad1b Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/758aad1b Branch: refs/heads/DEPMGMT-INCLUDE Commit: 758aad1b1d30b0c10224bff498ad3c36bdf2ab09 Parents: affddb2 Author: Christian Schulte Authored: Sat Jan 30 19:17:34 2016 +0100 Committer: Christian Schulte Committed: Sun Feb 5 00:05:20 2017 +0100 -- .../maven/project/ProjectModelResolver.java | 83 +++ .../model/building/DefaultModelBuilder.java | 20 - .../maven/model/resolution/ModelResolver.java | 32 .../internal/DefaultModelResolver.java | 85 4 files changed, 186 insertions(+), 34 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/758aad1b/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java -- diff --git a/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java b/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java index 7b93217..e5aa052 100644 --- a/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java +++ b/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java @@ -26,6 +26,7 @@ import java.util.HashSet; import java.util.List; import java.util.Set; +import org.apache.maven.model.Dependency; import com.google.common.base.Predicate; import com.google.common.collect.Iterables; @@ -203,24 +204,26 @@ public class ProjectModelResolver return new FileModelSource( pomFile ); } -public ModelSource resolveModel( Parent parent ) +@Override +public ModelSource resolveModel( final Parent parent ) throws UnresolvableModelException { -Artifact artifact = new DefaultArtifact( parent.getGroupId(), parent.getArtifactId(), "", "pom", - parent.getVersion() ); - -VersionRangeRequest versionRangeRequest = new VersionRangeRequest( artifact, repositories, context ); -versionRangeRequest.setTrace( trace ); - try { -VersionRangeResult versionRangeResult = resolver.resolveVersionRange( session, versionRangeRequest ); +final Artifact artifact = new DefaultArtifact( parent.getGroupId(), parent.getArtifactId(), "", "pom", + parent.getVersion() ); + +final VersionRangeRequest versionRangeRequest = new VersionRangeRequest( artifact, repositories, context ); +versionRangeRequest.setTrace( trace ); + +final VersionRangeResult versionRangeResult = resolver.resolveVersionRange( session, versionRangeRequest ); if ( versionRangeResult.getHighestVersion() == null ) { -throw new UnresolvableModelException( "No versions matched the requested range '" + parent.getVersion() - + "'", parent.getGroupId(), parent.getArtifactId(), - parent.getVersion() ); +throw new UnresolvableModelException( +String.format( "No versions matched the requested parent version range '%s'", + parent.getVersion() ), +parent.getGroupId(), parent.getArtifactId(), parent.getVersion() ); } @@ -229,21 +232,69 @@ public class ProjectModelResolver && versionRangeResult.getVersionConstraint().getRange().getUpperBound() == null ) { // Message below is checked for in the MNG-2199 core IT. -throw new UnresolvableModelException( "The requested version range '" + parent.getVersion() - + "' does not specify an upper bound", parent.getGroupId(), - parent.getArtifactId(), parent.getVersion() ); +throw new UnresolvableModelException( +String.format( "The requested parent version range '%s' does not specify an upper bound", + parent.getVersion() ), +parent.getGroupId(), parent.getArtifactId(), parent.getVersion() ); } parent.setVersion( versionRangeResult.getHighestVersion().toString
[2/5] maven git commit: [MNG-4463] Dependency management import should support version ranges.
[MNG-4463] Dependency management import should support version ranges. o Extended the 'ModelResolver' interface to support resolving 'Dependency's in addition to 'Parent's. Closes #64 without merging. ITs are pending to be committed. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/758aad1b Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/758aad1b Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/758aad1b Branch: refs/heads/DEPMGMT-IMPORT Commit: 758aad1b1d30b0c10224bff498ad3c36bdf2ab09 Parents: affddb2 Author: Christian Schulte Authored: Sat Jan 30 19:17:34 2016 +0100 Committer: Christian Schulte Committed: Sun Feb 5 00:05:20 2017 +0100 -- .../maven/project/ProjectModelResolver.java | 83 +++ .../model/building/DefaultModelBuilder.java | 20 - .../maven/model/resolution/ModelResolver.java | 32 .../internal/DefaultModelResolver.java | 85 4 files changed, 186 insertions(+), 34 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/758aad1b/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java -- diff --git a/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java b/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java index 7b93217..e5aa052 100644 --- a/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java +++ b/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java @@ -26,6 +26,7 @@ import java.util.HashSet; import java.util.List; import java.util.Set; +import org.apache.maven.model.Dependency; import com.google.common.base.Predicate; import com.google.common.collect.Iterables; @@ -203,24 +204,26 @@ public class ProjectModelResolver return new FileModelSource( pomFile ); } -public ModelSource resolveModel( Parent parent ) +@Override +public ModelSource resolveModel( final Parent parent ) throws UnresolvableModelException { -Artifact artifact = new DefaultArtifact( parent.getGroupId(), parent.getArtifactId(), "", "pom", - parent.getVersion() ); - -VersionRangeRequest versionRangeRequest = new VersionRangeRequest( artifact, repositories, context ); -versionRangeRequest.setTrace( trace ); - try { -VersionRangeResult versionRangeResult = resolver.resolveVersionRange( session, versionRangeRequest ); +final Artifact artifact = new DefaultArtifact( parent.getGroupId(), parent.getArtifactId(), "", "pom", + parent.getVersion() ); + +final VersionRangeRequest versionRangeRequest = new VersionRangeRequest( artifact, repositories, context ); +versionRangeRequest.setTrace( trace ); + +final VersionRangeResult versionRangeResult = resolver.resolveVersionRange( session, versionRangeRequest ); if ( versionRangeResult.getHighestVersion() == null ) { -throw new UnresolvableModelException( "No versions matched the requested range '" + parent.getVersion() - + "'", parent.getGroupId(), parent.getArtifactId(), - parent.getVersion() ); +throw new UnresolvableModelException( +String.format( "No versions matched the requested parent version range '%s'", + parent.getVersion() ), +parent.getGroupId(), parent.getArtifactId(), parent.getVersion() ); } @@ -229,21 +232,69 @@ public class ProjectModelResolver && versionRangeResult.getVersionConstraint().getRange().getUpperBound() == null ) { // Message below is checked for in the MNG-2199 core IT. -throw new UnresolvableModelException( "The requested version range '" + parent.getVersion() - + "' does not specify an upper bound", parent.getGroupId(), - parent.getArtifactId(), parent.getVersion() ); +throw new UnresolvableModelException( +String.format( "The requested parent version range '%s' does not specify an upper bound", + parent.getVersion() ), +parent.getGroupId(), parent.getArtifactId(), parent.getVersion() ); } parent.setVersion( versionRangeResult.getHighestVersion().toString(
[5/5] maven git commit: o Updated to 3.5.1-SNAPSHOT to make the ITs run.
o Updated to 3.5.1-SNAPSHOT to make the ITs run. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/743be82c Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/743be82c Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/743be82c Branch: refs/heads/DEPMGMT-IMPORT Commit: 743be82c37ddd2d73c7b7804cb881d141936140a Parents: fffa0db Author: Christian Schulte Authored: Tue Jan 31 03:17:58 2017 +0100 Committer: Christian Schulte Committed: Sun Feb 5 00:05:28 2017 +0100 -- apache-maven/pom.xml | 2 +- maven-artifact/pom.xml| 2 +- maven-builder-support/pom.xml | 2 +- maven-compat/pom.xml | 2 +- maven-core/pom.xml| 2 +- maven-embedder/pom.xml| 2 +- maven-model-builder/pom.xml | 2 +- maven-model/pom.xml | 2 +- maven-plugin-api/pom.xml | 2 +- maven-repository-metadata/pom.xml | 2 +- maven-resolver-provider/pom.xml | 2 +- maven-settings-builder/pom.xml| 2 +- maven-settings/pom.xml| 2 +- maven-slf4j-provider/pom.xml | 2 +- pom.xml | 2 +- 15 files changed, 15 insertions(+), 15 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/743be82c/apache-maven/pom.xml -- diff --git a/apache-maven/pom.xml b/apache-maven/pom.xml index 6fc5a73..d313f80 100644 --- a/apache-maven/pom.xml +++ b/apache-maven/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT apache-maven http://git-wip-us.apache.org/repos/asf/maven/blob/743be82c/maven-artifact/pom.xml -- diff --git a/maven-artifact/pom.xml b/maven-artifact/pom.xml index e3943c9..b13482b 100644 --- a/maven-artifact/pom.xml +++ b/maven-artifact/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT maven-artifact http://git-wip-us.apache.org/repos/asf/maven/blob/743be82c/maven-builder-support/pom.xml -- diff --git a/maven-builder-support/pom.xml b/maven-builder-support/pom.xml index 39eb161..5eb7903 100644 --- a/maven-builder-support/pom.xml +++ b/maven-builder-support/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT maven-builder-support http://git-wip-us.apache.org/repos/asf/maven/blob/743be82c/maven-compat/pom.xml -- diff --git a/maven-compat/pom.xml b/maven-compat/pom.xml index 2b205f7..b06d3f3 100644 --- a/maven-compat/pom.xml +++ b/maven-compat/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT maven-compat http://git-wip-us.apache.org/repos/asf/maven/blob/743be82c/maven-core/pom.xml -- diff --git a/maven-core/pom.xml b/maven-core/pom.xml index 95162bd..b10b329 100644 --- a/maven-core/pom.xml +++ b/maven-core/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT maven-core http://git-wip-us.apache.org/repos/asf/maven/blob/743be82c/maven-embedder/pom.xml -- diff --git a/maven-embedder/pom.xml b/maven-embedder/pom.xml index 30ad2ce..66e09a3 100644 --- a/maven-embedder/pom.xml +++ b/maven-embedder/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT maven-embedder http://git-wip-us.apache.org/repos/asf/maven/blob/743be82c/maven-model-builder/pom.xml -- diff --git a/maven-model-builder/pom.xml b/maven-model-builder/pom.xml index fbfd417..7cef99b 100644 --- a/maven-model-builder/pom.xml +++ b/maven-model-builder/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT maven-model-builder http://git-wip-us.apache.org/repos/asf/maven/blob/743be82c/maven-model/pom.xml -- diff --git a/maven-model/pom.xml b/maven-model/pom.xml index 41cf168..aabb25d 100644 --- a/maven-model/pom.xml +++ b/maven-model/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT maven-model http://git-wip-us.apache.org/repos/asf/maven/blob/743be82c/maven-plugin-api/pom.xml
[1/5] maven git commit: [MNG-2199] Support version ranges in parent elements [Forced Update!]
Repository: maven Updated Branches: refs/heads/DEPMGMT-IMPORT 7d7c790dc -> 743be82c3 (forced update) [MNG-2199] Support version ranges in parent elements o Updated to fix parent version range resolution broken since 3.2.3 and to remove parent version range resolution logic obsolete since Maven 3.2.3 which changed the initialization of MavenProject instances. o Updated local parent resolution to behave the same way remote parent resolution behaves. When referencing a parent using version ranges, inheriting the version or using version expressions should not be supported. It has been implemented that way for remote parent resolution as it got introduced in Maven 3.2.2. For local parent resolution the version in parent declarations had been ignored completely as of Maven 3.3.0 due to commit be3fb200326208ca4b8c41ebf16d5ae6b8049792 removing all local parent version validation. Work on fixing this is tracked by MNG-5840 released with Maven 3.3.9. This commit adds the final missing bits to make local and remote parent resolution behave the same way as much as possible. As an exception, remote parent resolution still is a bit more strict than local parent resolution due to a different API in use. When resolving a parent from a repository using version ranges, the ModelBuilder verifies the range in use to declare an upper bound. When resolving a parent locally using version ranges, those ranges are not required to declare an upper bound because the API in use does not support querying that. Authoring a POM relying on this difference should be considered a bug. o Added test cases to maven-core testing parent version range resolution for local and remote parent models. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/affddb2e Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/affddb2e Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/affddb2e Branch: refs/heads/DEPMGMT-IMPORT Commit: affddb2e5d1dca0fc956fa61ca60a5843775f94c Parents: 1740265 Author: Christian Schulte Authored: Sat Dec 12 20:28:56 2015 +0100 Committer: Christian Schulte Committed: Sun Feb 5 00:00:31 2017 +0100 -- .../maven/project/DefaultProjectBuilder.java| 113 +--- .../project/DefaultProjectBuildingRequest.java | 15 ++- .../maven/project/ProjectBuildingRequest.java | 14 +- .../maven/project/ProjectModelResolver.java | 1 + .../project/AbstractMavenProjectTestCase.java | 11 ++ .../project/DefaultMavenProjectBuilderTest.java | 130 +++ .../repository/TestRepositoryConnector.java | 38 ++ .../org/apache/apache/1/apache-1.pom| 82 .../org/apache/apache/maven-metadata.xml| 13 ++ .../pom.xml | 12 ++ .../pom.xml | 11 ++ .../parent-version-range-external-valid/pom.xml | 11 ++ .../child/pom.xml | 12 ++ .../pom.xml | 7 + .../child/pom.xml | 11 ++ .../pom.xml | 7 + .../child/pom.xml | 11 ++ .../parent-version-range-local-valid/pom.xml| 7 + .../model/building/DefaultModelBuilder.java | 30 - .../internal/DefaultModelResolver.java | 1 + 20 files changed, 482 insertions(+), 55 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/affddb2e/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 d064ab4..869e584 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 @@ -43,7 +43,6 @@ import org.apache.maven.model.DependencyManagement; import org.apache.maven.model.DeploymentRepository; import org.apache.maven.model.Extension; import org.apache.maven.model.Model; -import org.apache.maven.model.Parent; import org.apache.maven.model.Plugin; import org.apache.maven.model.Profile; import org.apache.maven.model.ReportPlugin; @@ -73,9 +72,6 @@ import org.eclipse.aether.repository.RemoteRepository; import org.eclipse.aether.repository.WorkspaceRepository; import org.eclipse.aether.resolution.ArtifactRequest; import org.eclipse.aether.resolution.ArtifactResult; -import org.eclipse.aether.resolution.VersionRangeRequest; -import org.eclipse.aether.resolution.VersionRangeResolutionException; -import org.eclipse.aether.resolution.VersionRangeRe
[3/5] maven git commit: [MNG-5527] Dependency management import should support relocations.
[MNG-5527] Dependency management import should support relocations. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/95797415 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/95797415 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/95797415 Branch: refs/heads/DEPMGMT-IMPORT Commit: 95797415d13dfd364df612716cfecf0c40c0d992 Parents: 758aad1 Author: Christian Schulte Authored: Tue Jun 21 21:35:40 2016 +0200 Committer: Christian Schulte Committed: Sun Feb 5 00:05:26 2017 +0100 -- .../model/building/DefaultModelBuilder.java | 190 --- 1 file changed, 125 insertions(+), 65 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/95797415/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java -- diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java index e07f8e9..b25d8f2 100644 --- a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java +++ b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java @@ -1119,8 +1119,6 @@ public class DefaultModelBuilder final WorkspaceModelResolver workspaceResolver = request.getWorkspaceModelResolver(); final ModelResolver modelResolver = request.getModelResolver(); -ModelBuildingRequest importRequest = null; - List importMgmts = null; for ( Iterator it = depMgmt.getDependencies().iterator(); it.hasNext(); ) @@ -1207,75 +1205,15 @@ public class DefaultModelBuilder } } -// no workspace resolver or workspace resolver returned null (i.e. model not in workspace) if ( importModel == null ) { -final ModelSource importSource; -try -{ -dependency = dependency.clone(); -importSource = modelResolver.resolveModel( dependency ); -final String resolvedId = -dependency.getGroupId() + ':' + dependency.getArtifactId() + ':' + dependency.getVersion(); +// no workspace resolver or workspace resolver returned null (i.e. model not in workspace) +importModel = this.buildImportModelFromRepository( request, dependency, importIds, problems ); -if ( !imported.equals( resolvedId ) && importIds.contains( resolvedId ) ) -{ -// A version range has been resolved to a cycle. -String message = "The dependencies of type=pom and with scope=import form a cycle: "; -for ( String modelId : importIds ) -{ -message += modelId + " -> "; -} -message += resolvedId; -problems.add( new ModelProblemCollectorRequest( Severity.ERROR, Version.BASE ). -setMessage( message ) ); - -continue; -} -} -catch ( UnresolvableModelException e ) +if ( importModel == null ) { -StringBuilder buffer = new StringBuilder( 256 ); -buffer.append( "Non-resolvable import POM" ); -if ( !containsCoordinates( e.getMessage(), groupId, artifactId, version ) ) -{ -buffer.append( " " ).append( ModelProblemUtils.toId( groupId, artifactId, version ) ); -} -buffer.append( ": " ).append( e.getMessage() ); - -problems.add( new ModelProblemCollectorRequest( Severity.ERROR, Version.BASE ) -.setMessage( buffer.toString() ).setLocation( dependency.getLocation( "" ) ) -.setException( e ) ); continue; } - -if ( importRequest == null ) -{ -importRequest = new DefaultModelBuildingRequest(); -importRequest.setValidationLevel( ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL ); -importRequest.setModelCache( request.getModelCache() ); -importRequest.setSystemProperties( request.getSystemProperti
[4/5] maven git commit: [MNG-5600] Dependency management import should support exclusions.
[MNG-5600] Dependency management import should support exclusions. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/fffa0db5 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/fffa0db5 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/fffa0db5 Branch: refs/heads/DEPMGMT-IMPORT Commit: fffa0db507a7a019d6ec9a6bfc2a6cf8172ce4f1 Parents: 9579741 Author: Christian Schulte Authored: Sun Jun 19 16:32:25 2016 +0200 Committer: Christian Schulte Committed: Sun Feb 5 00:05:27 2017 +0100 -- .../model/building/DefaultModelBuilder.java | 59 +++- 1 file changed, 45 insertions(+), 14 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/fffa0db5/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java -- diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java index b25d8f2..9c505a9 100644 --- a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java +++ b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java @@ -19,7 +19,16 @@ package org.apache.maven.model.building; * under the License. */ - +import java.io.File; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.Iterator; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Map; +import java.util.Properties; import org.apache.commons.lang3.Validate; import org.apache.maven.artifact.versioning.DefaultArtifactVersion; import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException; @@ -28,6 +37,7 @@ import org.apache.maven.model.Activation; import org.apache.maven.model.Build; import org.apache.maven.model.Dependency; import org.apache.maven.model.DependencyManagement; +import org.apache.maven.model.Exclusion; import org.apache.maven.model.InputLocation; import org.apache.maven.model.InputSource; import org.apache.maven.model.Model; @@ -62,18 +72,6 @@ import org.apache.maven.model.superpom.SuperPomProvider; import org.apache.maven.model.validation.ModelValidator; import org.codehaus.plexus.component.annotations.Component; import org.codehaus.plexus.component.annotations.Requirement; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Iterator; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Map; -import java.util.Properties; - import static org.apache.maven.model.building.Result.error; import static org.apache.maven.model.building.Result.newResult; @@ -1223,7 +1221,40 @@ public class DefaultModelBuilder importMgmt = new DependencyManagement(); } -putCache( request.getModelCache(), groupId, artifactId, version, ModelCacheTag.IMPORT, importMgmt ); +// [MNG-5600] Dependency management import should support exclusions. +if ( !dependency.getExclusions().isEmpty() ) +{ +for ( final Exclusion exclusion : dependency.getExclusions() ) +{ +if ( exclusion.getGroupId() != null && exclusion.getArtifactId() != null ) +{ +for ( final Iterator dependencies = importMgmt.getDependencies().iterator(); + dependencies.hasNext(); ) +{ +final Dependency candidate = dependencies.next(); + +if ( ( exclusion.getGroupId().equals( "*" ) + || exclusion.getGroupId().equals( candidate.getGroupId() ) ) + && ( exclusion.getArtifactId().equals( "*" ) + || exclusion.getArtifactId().equals( candidate.getArtifactId() ) ) ) +{ +// Dependency excluded from import. +dependencies.remove(); +} +} +} +} + +for ( final Dependency includedDependency : importMgmt.getDependencies() ) +{ +includedDependency.getExclusions().addAll( dependency.getExclusions() ); +} +} +else +{ +
maven git commit: [MNG-2199] Support version ranges in parent elements [Forced Update!]
Repository: maven Updated Branches: refs/heads/MNG-2199 6a243f022 -> affddb2e5 (forced update) [MNG-2199] Support version ranges in parent elements o Updated to fix parent version range resolution broken since 3.2.3 and to remove parent version range resolution logic obsolete since Maven 3.2.3 which changed the initialization of MavenProject instances. o Updated local parent resolution to behave the same way remote parent resolution behaves. When referencing a parent using version ranges, inheriting the version or using version expressions should not be supported. It has been implemented that way for remote parent resolution as it got introduced in Maven 3.2.2. For local parent resolution the version in parent declarations had been ignored completely as of Maven 3.3.0 due to commit be3fb200326208ca4b8c41ebf16d5ae6b8049792 removing all local parent version validation. Work on fixing this is tracked by MNG-5840 released with Maven 3.3.9. This commit adds the final missing bits to make local and remote parent resolution behave the same way as much as possible. As an exception, remote parent resolution still is a bit more strict than local parent resolution due to a different API in use. When resolving a parent from a repository using version ranges, the ModelBuilder verifies the range in use to declare an upper bound. When resolving a parent locally using version ranges, those ranges are not required to declare an upper bound because the API in use does not support querying that. Authoring a POM relying on this difference should be considered a bug. o Added test cases to maven-core testing parent version range resolution for local and remote parent models. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/affddb2e Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/affddb2e Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/affddb2e Branch: refs/heads/MNG-2199 Commit: affddb2e5d1dca0fc956fa61ca60a5843775f94c Parents: 1740265 Author: Christian Schulte Authored: Sat Dec 12 20:28:56 2015 +0100 Committer: Christian Schulte Committed: Sun Feb 5 00:00:31 2017 +0100 -- .../maven/project/DefaultProjectBuilder.java| 113 +--- .../project/DefaultProjectBuildingRequest.java | 15 ++- .../maven/project/ProjectBuildingRequest.java | 14 +- .../maven/project/ProjectModelResolver.java | 1 + .../project/AbstractMavenProjectTestCase.java | 11 ++ .../project/DefaultMavenProjectBuilderTest.java | 130 +++ .../repository/TestRepositoryConnector.java | 38 ++ .../org/apache/apache/1/apache-1.pom| 82 .../org/apache/apache/maven-metadata.xml| 13 ++ .../pom.xml | 12 ++ .../pom.xml | 11 ++ .../parent-version-range-external-valid/pom.xml | 11 ++ .../child/pom.xml | 12 ++ .../pom.xml | 7 + .../child/pom.xml | 11 ++ .../pom.xml | 7 + .../child/pom.xml | 11 ++ .../parent-version-range-local-valid/pom.xml| 7 + .../model/building/DefaultModelBuilder.java | 30 - .../internal/DefaultModelResolver.java | 1 + 20 files changed, 482 insertions(+), 55 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/affddb2e/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 d064ab4..869e584 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 @@ -43,7 +43,6 @@ import org.apache.maven.model.DependencyManagement; import org.apache.maven.model.DeploymentRepository; import org.apache.maven.model.Extension; import org.apache.maven.model.Model; -import org.apache.maven.model.Parent; import org.apache.maven.model.Plugin; import org.apache.maven.model.Profile; import org.apache.maven.model.ReportPlugin; @@ -73,9 +72,6 @@ import org.eclipse.aether.repository.RemoteRepository; import org.eclipse.aether.repository.WorkspaceRepository; import org.eclipse.aether.resolution.ArtifactRequest; import org.eclipse.aether.resolution.ArtifactResult; -import org.eclipse.aether.resolution.VersionRangeRequest; -import org.eclipse.aether.resolution.VersionRangeResolutionException; -import org.eclipse.aether.resolution.VersionRangeResult; /**
svn commit: r1781714 - /maven/doxia/doxia/trunk/doxia-modules/doxia-module-markdown/src/main/java/org/apache/maven/doxia/module/markdown/MarkdownParser.java
Author: michaelo Date: Sat Feb 4 22:58:57 2017 New Revision: 1781714 URL: http://svn.apache.org/viewvc?rev=1781714&view=rev Log: [DOXIA-543] maven-doxia-markdown fails in parallel builds Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-markdown/src/main/java/org/apache/maven/doxia/module/markdown/MarkdownParser.java Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-markdown/src/main/java/org/apache/maven/doxia/module/markdown/MarkdownParser.java URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-markdown/src/main/java/org/apache/maven/doxia/module/markdown/MarkdownParser.java?rev=1781714&r1=1781713&r2=1781714&view=diff == --- maven/doxia/doxia/trunk/doxia-modules/doxia-module-markdown/src/main/java/org/apache/maven/doxia/module/markdown/MarkdownParser.java (original) +++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-markdown/src/main/java/org/apache/maven/doxia/module/markdown/MarkdownParser.java Sat Feb 4 22:58:57 2017 @@ -68,7 +68,9 @@ public class MarkdownParser /** * The {@link PegDownProcessor} used to convert Pegdown documents to HTML. + * @deprecated this is not threadsafe, create always a new one or sync appropriately */ +@Deprecated protected static final PegDownProcessor PEGDOWN_PROCESSOR = new PegDownProcessor( Extensions.ALL & ~Extensions.HARDWRAPS, Long.MAX_VALUE ); @@ -119,9 +121,9 @@ public class MarkdownParser /** * uses PegDown library to parse content and generate HTML output. - * + * * @param source the Markdown source - * @return HTML content generated by PegDown + * @return HTML content generated by PegDown * @throws IOException * @see MarkdownToDoxiaHtmlSerializer */ @@ -194,7 +196,8 @@ public class MarkdownParser text = text.substring( metadataMatcher.end() ); } } -RootNode rootNode = PEGDOWN_PROCESSOR.parseMarkdown( text.toCharArray() ); +PegDownProcessor processor = new PegDownProcessor( Extensions.ALL & ~Extensions.HARDWRAPS, Long.MAX_VALUE ); +RootNode rootNode = processor.parseMarkdown( text.toCharArray() ); if ( !haveTitle && rootNode.getChildren().size() > 0 ) { // use the first (non-comment) node only if it is a heading @@ -281,7 +284,7 @@ public class MarkdownParser } return visited; } - + @Override protected boolean baseStartTag( XmlPullParser parser, Sink sink ) {
[4/4] maven-integration-testing git commit: [MNG-5359] Declared execution in PluginMgmt gets bound to lifecycle (regression)
[MNG-5359] Declared execution in PluginMgmt gets bound to lifecycle (regression) Project: http://git-wip-us.apache.org/repos/asf/maven-integration-testing/repo Commit: http://git-wip-us.apache.org/repos/asf/maven-integration-testing/commit/8e3583cb Tree: http://git-wip-us.apache.org/repos/asf/maven-integration-testing/tree/8e3583cb Diff: http://git-wip-us.apache.org/repos/asf/maven-integration-testing/diff/8e3583cb Branch: refs/heads/MNG-5359 Commit: 8e3583cb86fcf193e34841a13e2d48d9cd7cd827 Parents: f6ad650 Author: Christian Schulte Authored: Sun Dec 20 19:34:40 2015 +0100 Committer: Christian Schulte Committed: Sat Feb 4 23:18:18 2017 +0100 -- .../apache/maven/it/IntegrationTestSuite.java | 1 + ...ginExecutionDeclarationInPluginMgmtTest.java | 58 +++ .../src/test/resources/mng-5359/pom.xml | 74 .../java/org/apache/maven/its/mng5359/App.java | 13 4 files changed, 146 insertions(+) -- http://git-wip-us.apache.org/repos/asf/maven-integration-testing/blob/8e3583cb/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java -- diff --git a/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java b/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java index c9b5ace..c49c971 100644 --- a/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java +++ b/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java @@ -106,6 +106,7 @@ public class IntegrationTestSuite // - // suite.addTestSuite( MavenIT0108SnapshotUpdateTest.class ); -- MNG-3137 +suite.addTestSuite( MavenITmng5359CleanPluginExecutionDeclarationInPluginMgmtTest.class ); suite.addTestSuite( MavenITmng5958LifecyclePhaseBinaryCompat.class ); suite.addTestSuite( MavenITmng5898BuildMultimoduleWithEARFailsToResolveWARTest.class ); suite.addTestSuite( MavenITmng5840ParentVersionRanges.class ); http://git-wip-us.apache.org/repos/asf/maven-integration-testing/blob/8e3583cb/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng5359CleanPluginExecutionDeclarationInPluginMgmtTest.java -- diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng5359CleanPluginExecutionDeclarationInPluginMgmtTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng5359CleanPluginExecutionDeclarationInPluginMgmtTest.java new file mode 100644 index 000..a8fde23 --- /dev/null +++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng5359CleanPluginExecutionDeclarationInPluginMgmtTest.java @@ -0,0 +1,58 @@ +package org.apache.maven.it; + +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import org.apache.maven.it.util.ResourceExtractor; + +import java.io.File; + +/** + * This is a test set for https://issues.apache.org/jira/browse/MNG-5359";>MNG-5359. + * + * @author Anders Hammar + */ +public class MavenITmng5359CleanPluginExecutionDeclarationInPluginMgmtTest +extends AbstractMavenIntegrationTestCase +{ + +public MavenITmng5359CleanPluginExecutionDeclarationInPluginMgmtTest() +{ +// Might work with versions before 2.0.11, but not verified +super( "[2.0.11,3.0-alpha-1),[3.5.1,)" ); +} + +public void testit() +throws Exception +{ +File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-5359" ); + +Verifier verifier = newVerifier( testDir.getAbsolutePath(), "remote" ); + +verifier.setAutoclean( false ); +verifier.deleteDirectory( "target" ); +verifier.deleteArtifacts( "org.apache.maven.its.mng5359" ); + +verifier.executeGoal( "install" ); // will fail if clean plugin is executed +verifier.verifyErrorFreeLog(); +verifier.resetStreams(); + +verifier.assertArt
[3/4] maven-integration-testing git commit: Fix incomplete class renaming
Fix incomplete class renaming Project: http://git-wip-us.apache.org/repos/asf/maven-integration-testing/repo Commit: http://git-wip-us.apache.org/repos/asf/maven-integration-testing/commit/f6ad6509 Tree: http://git-wip-us.apache.org/repos/asf/maven-integration-testing/tree/f6ad6509 Diff: http://git-wip-us.apache.org/repos/asf/maven-integration-testing/diff/f6ad6509 Branch: refs/heads/MNG-5359 Commit: f6ad6509ee5e5f95ec84f30dd375c682ff48fb21 Parents: 0bd4395 Author: Michael Osipov Authored: Sat Feb 4 13:14:48 2017 +0100 Committer: Michael Osipov Committed: Sat Feb 4 13:14:48 2017 +0100 -- .../maven/it/MavenITmng3268MultipleHyphenPCommandLineTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven-integration-testing/blob/f6ad6509/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3268MultipleHyphenPCommandLineTest.java -- diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3268MultipleHyphenPCommandLineTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3268MultipleHyphenPCommandLineTest.java index 1237c1e..06caec0 100644 --- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3268MultipleHyphenPCommandLineTest.java +++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3268MultipleHyphenPCommandLineTest.java @@ -26,14 +26,14 @@ import java.io.File; /** * This is a test set for https://issues.apache.org/jira/browse/MNG-3268";>MNG-3268. - * + * * @version $Id$ */ public class MavenITmng3268MultipleHyphenPCommandLineTest extends AbstractMavenIntegrationTestCase { -public MavenITmng3268MultipleDashPCommandLineTest() +public MavenITmng3268MultipleHyphenPCommandLineTest() { super( "(2.0.9,)" ); }
[2/4] maven-integration-testing git commit: [MNG-6146] Several small stylistic and spelling improvements to code and documentation
[MNG-6146] Several small stylistic and spelling improvements to code and documentation Use the proper term for char U+002D (-) hyphen(-minus) instead of dash Project: http://git-wip-us.apache.org/repos/asf/maven-integration-testing/repo Commit: http://git-wip-us.apache.org/repos/asf/maven-integration-testing/commit/0bd43956 Tree: http://git-wip-us.apache.org/repos/asf/maven-integration-testing/tree/0bd43956 Diff: http://git-wip-us.apache.org/repos/asf/maven-integration-testing/diff/0bd43956 Branch: refs/heads/MNG-5359 Commit: 0bd439560d067dabf0a1cf39fd598b3115b450e9 Parents: 92a11a9 Author: Michael Osipov Authored: Thu Feb 2 10:46:16 2017 +0100 Committer: Michael Osipov Committed: Thu Feb 2 10:46:32 2017 +0100 -- .../apache/maven/it/IntegrationTestSuite.java | 2 +- ...enITmng3268MultipleDashPCommandLineTest.java | 63 ...ITmng3268MultipleHyphenPCommandLineTest.java | 63 .../MavenITmng3545ProfileDeactivationTest.java | 2 +- 4 files changed, 65 insertions(+), 65 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven-integration-testing/blob/0bd43956/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java -- diff --git a/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java b/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java index a91eeb0..c9b5ace 100644 --- a/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java +++ b/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java @@ -499,7 +499,7 @@ public class IntegrationTestSuite suite.addTestSuite( MavenITmng3284UsingCachedPluginsTest.class ); suite.addTestSuite( MavenITmng3271DefaultReportsSuppressionTest.class ); suite.addTestSuite( MavenITmng3221InfiniteForkingTest.class ); -suite.addTestSuite( MavenITmng3268MultipleDashPCommandLineTest.class ); +suite.addTestSuite( MavenITmng3268MultipleHyphenPCommandLineTest.class ); suite.addTestSuite( MavenITmng3259DepsDroppedInMultiModuleBuildTest.class ); suite.addTestSuite( MavenITmng3220ImportScopeTest.class ); suite.addTestSuite( MavenITmng3217InterPluginDependencyTest.class ); http://git-wip-us.apache.org/repos/asf/maven-integration-testing/blob/0bd43956/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3268MultipleDashPCommandLineTest.java -- diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3268MultipleDashPCommandLineTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3268MultipleDashPCommandLineTest.java deleted file mode 100644 index d97b33e..000 --- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3268MultipleDashPCommandLineTest.java +++ /dev/null @@ -1,63 +0,0 @@ -package org.apache.maven.it; - -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -import org.apache.maven.it.Verifier; -import org.apache.maven.it.util.ResourceExtractor; - -import java.io.File; - -/** - * This is a test set for https://issues.apache.org/jira/browse/MNG-3268";>MNG-3268. - * - * @version $Id$ - */ -public class MavenITmng3268MultipleDashPCommandLineTest -extends AbstractMavenIntegrationTestCase -{ - -public MavenITmng3268MultipleDashPCommandLineTest() -{ -super( "(2.0.9,)" ); -} - -public void testMultipleProfileParams() -throws Exception -{ -File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-3268" ); - -Verifier verifier; - -verifier = newVerifier( testDir.getAbsolutePath(), "remote" ); - -verifier.addCliOption( "-Pprofile1,profile2" ); -verifier.addCliOption( "-Pprofile3" ); -verifier.addCliOption( "-P profile4" ); -verifier.executeGoal( "package" ); - -verifier.verifyErrorFreeLog(); -verifier.assertFilePresent( "target/profile1/touch.txt" ); -verifie
[1/4] maven-integration-testing git commit: Provide a mechanism whereby tests can indicate versions of Maven expected to fail [Forced Update!]
Repository: maven-integration-testing Updated Branches: refs/heads/MNG-5359 f2b167224 -> 8e3583cb8 (forced update) Provide a mechanism whereby tests can indicate versions of Maven expected to fail - This will let us fix broken tests while confirming that the versions of Maven that were released using the broken test contain the bug that escaped the broken test Project: http://git-wip-us.apache.org/repos/asf/maven-integration-testing/repo Commit: http://git-wip-us.apache.org/repos/asf/maven-integration-testing/commit/92a11a96 Tree: http://git-wip-us.apache.org/repos/asf/maven-integration-testing/tree/92a11a96 Diff: http://git-wip-us.apache.org/repos/asf/maven-integration-testing/diff/92a11a96 Branch: refs/heads/MNG-5359 Commit: 92a11a96877c275d90d3502ff1df70c637850f6c Parents: 63bb518 Author: Stephen Connolly Authored: Wed Feb 1 22:30:25 2017 + Committer: Stephen Connolly Committed: Wed Feb 1 22:30:25 2017 + -- .../it/AbstractMavenIntegrationTestCase.java| 78 +++- 1 file changed, 76 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven-integration-testing/blob/92a11a96/core-it-support/maven-it-helper/src/main/java/org/apache/maven/it/AbstractMavenIntegrationTestCase.java -- diff --git a/core-it-support/maven-it-helper/src/main/java/org/apache/maven/it/AbstractMavenIntegrationTestCase.java b/core-it-support/maven-it-helper/src/main/java/org/apache/maven/it/AbstractMavenIntegrationTestCase.java index 8966dce..78c6e63 100644 --- a/core-it-support/maven-it-helper/src/main/java/org/apache/maven/it/AbstractMavenIntegrationTestCase.java +++ b/core-it-support/maven-it-helper/src/main/java/org/apache/maven/it/AbstractMavenIntegrationTestCase.java @@ -60,6 +60,8 @@ public abstract class AbstractMavenIntegrationTestCase private boolean skip; +private BrokenMavenVersionException invert; + private static ArtifactVersion javaVersion; private ArtifactVersion mavenVersion; @@ -213,11 +215,16 @@ public abstract class AbstractMavenIntegrationTestCase setupLocalRepo(); } +invert = null; long milliseconds = System.currentTimeMillis(); try { super.runTest(); milliseconds = System.currentTimeMillis() - milliseconds; +if ( invert != null ) +{ +throw invert; +} out.println( "OK " + formatTime( milliseconds ) ); } catch ( UnsupportedJavaVersionException e ) @@ -230,11 +237,25 @@ public abstract class AbstractMavenIntegrationTestCase out.println( "SKIPPED - Maven version " + e.mavenVersion + " not in range " + e.supportedRange ); return; } +catch ( BrokenMavenVersionException e ) +{ +out.println( "UNEXPECTED OK - Maven version " + e.mavenVersion + " expected to fail " ++ formatTime( milliseconds ) ); +fail( "Expected failure when with Maven version " + e.mavenVersion ); +} catch ( Throwable t ) { milliseconds = System.currentTimeMillis() - milliseconds; -out.println( "FAILURE " + formatTime( milliseconds ) ); -throw t; +if ( invert != null ) +{ +out.println( "EXPECTED FAIL - Maven version " + invert.mavenVersion + " expected to fail " ++ formatTime( milliseconds ) ); +} +else +{ +out.println( "FAILURE " + formatTime( milliseconds ) ); +throw t; +} } } @@ -300,6 +321,42 @@ public abstract class AbstractMavenIntegrationTestCase } } +/** + * Inverts the execution of a test case for cases where we discovered a bug in the test case, have corrected the + * test case and shipped versions of Maven with a bug because of the faulty test case. This method allows the + * tests to continue passing against the historical releases as they historically would, as well as verifying that + * the test is no longer providing a false positive. + * + * @param versionRange + */ +protected void failingMavenVersions( String versionRange ) +{ +assertNull( "Only call failingMavenVersions at most once per test", invert ); +VersionRange range; +try +{ +range = VersionRange.createFromVersionSpec( versionRange ); +} +catch ( InvalidVersionSpecificationException e ) +{ +throw (RuntimeException) new IllegalArgumentException( "Invalid version range: " + versionRange, e ); +} + +ArtifactVersion version = getMavenVersion(); +
[01/13] maven-integration-testing git commit: Fix incomplete class renaming [Forced Update!]
Repository: maven-integration-testing Updated Branches: refs/heads/DEPMGMT 88d23a12f -> 3af028d2c (forced update) Fix incomplete class renaming Project: http://git-wip-us.apache.org/repos/asf/maven-integration-testing/repo Commit: http://git-wip-us.apache.org/repos/asf/maven-integration-testing/commit/f6ad6509 Tree: http://git-wip-us.apache.org/repos/asf/maven-integration-testing/tree/f6ad6509 Diff: http://git-wip-us.apache.org/repos/asf/maven-integration-testing/diff/f6ad6509 Branch: refs/heads/DEPMGMT Commit: f6ad6509ee5e5f95ec84f30dd375c682ff48fb21 Parents: 0bd4395 Author: Michael Osipov Authored: Sat Feb 4 13:14:48 2017 +0100 Committer: Michael Osipov Committed: Sat Feb 4 13:14:48 2017 +0100 -- .../maven/it/MavenITmng3268MultipleHyphenPCommandLineTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven-integration-testing/blob/f6ad6509/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3268MultipleHyphenPCommandLineTest.java -- diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3268MultipleHyphenPCommandLineTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3268MultipleHyphenPCommandLineTest.java index 1237c1e..06caec0 100644 --- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3268MultipleHyphenPCommandLineTest.java +++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3268MultipleHyphenPCommandLineTest.java @@ -26,14 +26,14 @@ import java.io.File; /** * This is a test set for https://issues.apache.org/jira/browse/MNG-3268";>MNG-3268. - * + * * @version $Id$ */ public class MavenITmng3268MultipleHyphenPCommandLineTest extends AbstractMavenIntegrationTestCase { -public MavenITmng3268MultipleDashPCommandLineTest() +public MavenITmng3268MultipleHyphenPCommandLineTest() { super( "(2.0.9,)" ); }
[02/13] maven-integration-testing git commit: [MNG-2199] Support version ranges in parent elements
[MNG-2199] Support version ranges in parent elements o Updated the ITs to correctly detect parent resolution failures. Maven does not fail the build when it cannot resolve a parent but instead logs a warning message. The ITs never checked the log to contain the warning messages but instead asserted the build to fail when a parent cannot be resolved. The only Maven version supporting parent version ranges is Maven 3.2.2 due to this. o Deprecated an incorrect test case for local parent resolution. Maven ignored the '' in '' elements for local parent resolution. The core has been updated across various versions to eliminate any differences between local and remote parent resolution. When local parent resolution had been updated to match remote parent resolution, an existing IT started to fail testing incorrect behaviour. As soon as the '' is referenced using a version range, the '' element in the project becomes mandatory and does no longer support using an expression any more. This has been that way for remote parent resolution from day one. It has never been supported to inherit a version from a parent when referencing that parent using a version range intentionally. o Updated to account for updated error messages. Project: http://git-wip-us.apache.org/repos/asf/maven-integration-testing/repo Commit: http://git-wip-us.apache.org/repos/asf/maven-integration-testing/commit/f9c0d641 Tree: http://git-wip-us.apache.org/repos/asf/maven-integration-testing/tree/f9c0d641 Diff: http://git-wip-us.apache.org/repos/asf/maven-integration-testing/diff/f9c0d641 Branch: refs/heads/DEPMGMT Commit: f9c0d641ae362ff59c76bc7eb670c8214917f0c3 Parents: f6ad650 Author: Christian Schulte Authored: Sat Dec 12 19:25:15 2015 +0100 Committer: Christian Schulte Committed: Sat Feb 4 23:16:00 2017 +0100 -- .../MavenITmng2199ParentVersionRangeTest.java | 247 +-- .../expression-local/child/pom.xml | 12 + .../expression-local/pom.xml| 10 + .../inherited-local/child/pom.xml | 11 + .../inherited-local/pom.xml | 10 + .../invalid-local/child/pom.xml | 12 + .../invalid-local/pom.xml | 10 + .../local-fallback-to-remote/child/pom.xml | 18 ++ .../local-fallback-to-remote/pom.xml| 8 + .../valid-local/child/pom.xml | 11 + .../valid-local/pom.xml | 10 + 11 files changed, 335 insertions(+), 24 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven-integration-testing/blob/f9c0d641/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng2199ParentVersionRangeTest.java -- diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng2199ParentVersionRangeTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng2199ParentVersionRangeTest.java index 16ac91c..2496d38 100644 --- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng2199ParentVersionRangeTest.java +++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng2199ParentVersionRangeTest.java @@ -32,8 +32,11 @@ public class MavenITmng2199ParentVersionRangeTest public void testValidParentVersionRangeWithInclusiveUpperBound() throws Exception { +failingMavenVersions( "(3.2.2,3.5.0)" ); Verifier verifier = null; -File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-2199-parent-version-range/valid-inclusive-upper-bound" ); +File testDir = +ResourceExtractor.simpleExtractResources( getClass(), + "/mng-2199-parent-version-range/valid-inclusive-upper-bound" ); try { @@ -43,18 +46,31 @@ public class MavenITmng2199ParentVersionRangeTest verifier.executeGoal( "verify" ); verifier.verifyErrorFreeLog(); + +// All Maven versions not supporting remote parent version ranges will log a warning message whenever +// building a parent fails. The build succeeds without any parent. If that warning message appears in the +// log, parent resolution failed. +final List lines = verifier.loadFile( new File( testDir, "log.txt" ), false ); +assertFalse( "Unxpected error message found.", + indexOf( lines, ".*Failed to build parent project.*" ) >= 0 ); + } finally { -verifier.resetStreams(); +if ( verifier != null ) +{ +verifier.resetStreams(); +} } } public void testValidParentVersionRangeWithExclusiveUpperBound() throws Exception { +fai
[06/13] maven-integration-testing git commit: [MNG-6079] 3.4 regression: cannot override version of a dependencyManagement in a submodule any more
[MNG-6079] 3.4 regression: cannot override version of a dependencyManagement in a submodule any more Project: http://git-wip-us.apache.org/repos/asf/maven-integration-testing/repo Commit: http://git-wip-us.apache.org/repos/asf/maven-integration-testing/commit/c319636e Tree: http://git-wip-us.apache.org/repos/asf/maven-integration-testing/tree/c319636e Diff: http://git-wip-us.apache.org/repos/asf/maven-integration-testing/diff/c319636e Branch: refs/heads/DEPMGMT Commit: c319636e4d04c01dd9ea4325574097bd287ba4ca Parents: a6a87f5 Author: Christian Schulte Authored: Sat Aug 13 02:04:02 2016 +0200 Committer: Christian Schulte Committed: Sat Feb 4 23:17:15 2017 +0100 -- .../apache/maven/it/IntegrationTestSuite.java | 1 + ...ndencyManagementImportInterpolationTest.java | 81 .../src/test/resources/mng-6079/parent-pom.xml | 49 .../src/test/resources/mng-6079/pom.xml | 69 + .../resources/mng-6079/settings-template.xml| 43 +++ 5 files changed, 243 insertions(+) -- http://git-wip-us.apache.org/repos/asf/maven-integration-testing/blob/c319636e/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java -- diff --git a/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java b/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java index 0855d33..ea34bf3 100644 --- a/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java +++ b/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java @@ -106,6 +106,7 @@ public class IntegrationTestSuite // - // suite.addTestSuite( MavenIT0108SnapshotUpdateTest.class ); -- MNG-3137 +suite.addTestSuite( MavenITmng6079DependencyManagementImportInterpolationTest.class ); suite.addTestSuite( MavenITmng5971HierarchicalImportScopeTest.class ); suite.addTestSuite( MavenITmng5600DependencyManagementImportExclusionsTest.class ); suite.addTestSuite( MavenITmng5527DependencyManagementImportRelocationsTest.class ); http://git-wip-us.apache.org/repos/asf/maven-integration-testing/blob/c319636e/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng6079DependencyManagementImportInterpolationTest.java -- diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng6079DependencyManagementImportInterpolationTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng6079DependencyManagementImportInterpolationTest.java new file mode 100644 index 000..21ca3e4 --- /dev/null +++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng6079DependencyManagementImportInterpolationTest.java @@ -0,0 +1,81 @@ +package org.apache.maven.it; + +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import java.io.File; +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +import org.apache.maven.it.util.ResourceExtractor; + +import static junit.framework.Assert.assertTrue; + +/** + * [MNG-6079] 3.4 regression: cannot override version of a dependencyManagement in a submodule any more + * + * @author Christian Schulte + */ +public class MavenITmng6079DependencyManagementImportInterpolationTest +extends AbstractMavenIntegrationTestCase +{ + +public MavenITmng6079DependencyManagementImportInterpolationTest() +{ +super( "[2.0.9,)" ); +} + +public void testInheritanceProcessing() +throws Exception +{ +final File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-6079" ); + +final Verifier verifier = newVerifier( testDir.getAbsolutePath(), "remote" ); +verifier.setAutoclean( false ); +verifier.filterFile( "settings-template.xml", "settings.xml", "UTF-8", + (Map) verifier.newDefaultFil
[05/13] maven-integration-testing git commit: [MNG-4463] Dependency management import should support version ranges.
[MNG-4463] Dependency management import should support version ranges. Project: http://git-wip-us.apache.org/repos/asf/maven-integration-testing/repo Commit: http://git-wip-us.apache.org/repos/asf/maven-integration-testing/commit/4e99967f Tree: http://git-wip-us.apache.org/repos/asf/maven-integration-testing/tree/4e99967f Diff: http://git-wip-us.apache.org/repos/asf/maven-integration-testing/diff/4e99967f Branch: refs/heads/DEPMGMT Commit: 4e99967fb95b1aa5dcafb48bc73062236a6ce187 Parents: f9c0d64 Author: Christian Schulte Authored: Sat Jan 30 20:21:33 2016 +0100 Committer: Christian Schulte Committed: Sat Feb 4 23:16:46 2017 +0100 -- .../apache/maven/it/IntegrationTestSuite.java | 1 + ...DependencyManagementImportVersionRanges.java | 108 +++ .../mng-4463/exclusive-upper-bound/pom.xml | 76 + .../mng-4463/inclusive-upper-bound/pom.xml | 76 + .../resources/mng-4463/no-upper-bound/pom.xml | 54 ++ 5 files changed, 315 insertions(+) -- http://git-wip-us.apache.org/repos/asf/maven-integration-testing/blob/4e99967f/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java -- diff --git a/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java b/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java index c9b5ace..c1961ce 100644 --- a/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java +++ b/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java @@ -106,6 +106,7 @@ public class IntegrationTestSuite // - // suite.addTestSuite( MavenIT0108SnapshotUpdateTest.class ); -- MNG-3137 +suite.addTestSuite( MavenITmng4463DependencyManagementImportVersionRanges.class ); suite.addTestSuite( MavenITmng5958LifecyclePhaseBinaryCompat.class ); suite.addTestSuite( MavenITmng5898BuildMultimoduleWithEARFailsToResolveWARTest.class ); suite.addTestSuite( MavenITmng5840ParentVersionRanges.class ); http://git-wip-us.apache.org/repos/asf/maven-integration-testing/blob/4e99967f/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4463DependencyManagementImportVersionRanges.java -- diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4463DependencyManagementImportVersionRanges.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4463DependencyManagementImportVersionRanges.java new file mode 100644 index 000..84c573c --- /dev/null +++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4463DependencyManagementImportVersionRanges.java @@ -0,0 +1,108 @@ +/* + * Copyright 2016 The Apache Software Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.maven.it; + +import java.io.File; +import java.util.List; +import java.util.regex.Pattern; +import org.apache.maven.it.util.ResourceExtractor; +import static junit.framework.Assert.assertTrue; + +/** + * Integration tests for https://issues.apache.org/jira/browse/MNG-4463";>MNG-4463. + * + * @author Christian Schulte + */ +public class MavenITmng4463DependencyManagementImportVersionRanges +extends AbstractMavenIntegrationTestCase +{ + +public MavenITmng4463DependencyManagementImportVersionRanges() +{ +super( "[3.5.1,)" ); +} + +public void testInclusiveUpperBoundResolvesToHighestVersion() +throws Exception +{ +final File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-4463/inclusive-upper-bound" ); +final Verifier verifier = newVerifier( testDir.getAbsolutePath(), "remote" ); +verifier.setAutoclean( false ); +verifier.deleteDirectory( "target" ); +verifier.executeGoal( "validate" ); +verifier.verifyErrorFreeLog(); +verifier.resetStreams(); + +final List artifacts = verifier.loadLines( "target/compile.txt", "UTF-8" ); +assertTrue( artifacts.toString(), artifacts.contains( "org.apache.maven:maven-plugin-api:jar:3.0" ) ); +} + +public void testExclusiveUpperB
[07/13] maven-integration-testing git commit: [MNG-5971] Imported dependencies should be available to inheritance processing
[MNG-5971] Imported dependencies should be available to inheritance processing Project: http://git-wip-us.apache.org/repos/asf/maven-integration-testing/repo Commit: http://git-wip-us.apache.org/repos/asf/maven-integration-testing/commit/a6a87f5e Tree: http://git-wip-us.apache.org/repos/asf/maven-integration-testing/tree/a6a87f5e Diff: http://git-wip-us.apache.org/repos/asf/maven-integration-testing/diff/a6a87f5e Branch: refs/heads/DEPMGMT Commit: a6a87f5e25fbd6283f96a44b5b4e0c6c5e492fae Parents: 5025ed0 Author: Christian Schulte Authored: Sat Feb 20 14:42:20 2016 +0100 Committer: Christian Schulte Committed: Sat Feb 4 23:17:15 2017 +0100 -- .../apache/maven/it/IntegrationTestSuite.java | 1 + ...venITmng5971HierarchicalImportScopeTest.java | 204 +++ .../test/resources/mng-5971/conflict/pom.xml| 100 + .../mng-5971/include-properties/1/2/3/4/pom.xml | 47 + .../mng-5971/include-properties/1/2/3/pom.xml | 51 + .../mng-5971/include-properties/1/2/pom.xml | 50 + .../mng-5971/include-properties/1/pom.xml | 50 + .../mng-5971/include-properties/pom.xml | 80 .../mng-5971/inheritance/1/2/3/pom.xml | 46 + .../resources/mng-5971/inheritance/1/2/pom.xml | 49 + .../resources/mng-5971/inheritance/1/pom.xml| 49 + .../test/resources/mng-5971/inheritance/pom.xml | 79 +++ .../test/resources/mng-5971/override/pom.xml| 87 .../mng-5971/properties/1/2/3/4/pom.xml | 47 + .../resources/mng-5971/properties/1/2/3/pom.xml | 51 + .../resources/mng-5971/properties/1/2/pom.xml | 50 + .../resources/mng-5971/properties/1/pom.xml | 50 + .../test/resources/mng-5971/properties/pom.xml | 80 .../its/mng5971/dependency/0/dependency-0.jar | Bin 0 -> 341 bytes .../its/mng5971/dependency/0/dependency-0.pom | 27 +++ .../its/mng5971/dependency/1/dependency-1.jar | Bin 0 -> 341 bytes .../its/mng5971/dependency/1/dependency-1.pom | 27 +++ .../its/mng5971/dependency/2/dependency-2.jar | Bin 0 -> 341 bytes .../its/mng5971/dependency/2/dependency-2.pom | 27 +++ .../its/mng5971/dependency/3/dependency-3.jar | Bin 0 -> 341 bytes .../its/mng5971/dependency/3/dependency-3.pom | 27 +++ .../maven/its/mng5971/import/0/import-0.pom | 39 .../maven/its/mng5971/import/1/import-1.pom | 39 .../maven/its/mng5971/import/2/import-2.pom | 39 .../maven/its/mng5971/import/3/import-3.pom | 39 .../resources/mng-5971/settings-template.xml| 43 31 files changed, 1478 insertions(+) -- http://git-wip-us.apache.org/repos/asf/maven-integration-testing/blob/a6a87f5e/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java -- diff --git a/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java b/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java index 25b8906..0855d33 100644 --- a/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java +++ b/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java @@ -106,6 +106,7 @@ public class IntegrationTestSuite // - // suite.addTestSuite( MavenIT0108SnapshotUpdateTest.class ); -- MNG-3137 +suite.addTestSuite( MavenITmng5971HierarchicalImportScopeTest.class ); suite.addTestSuite( MavenITmng5600DependencyManagementImportExclusionsTest.class ); suite.addTestSuite( MavenITmng5527DependencyManagementImportRelocationsTest.class ); suite.addTestSuite( MavenITmng4463DependencyManagementImportVersionRanges.class ); http://git-wip-us.apache.org/repos/asf/maven-integration-testing/blob/a6a87f5e/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng5971HierarchicalImportScopeTest.java -- diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng5971HierarchicalImportScopeTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng5971HierarchicalImportScopeTest.java new file mode 100644 index 000..1bba9cd --- /dev/null +++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng5971HierarchicalImportScopeTest.java @@ -0,0 +1,204 @@ +package org.apache.maven.it; + +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file excep
[13/13] maven-integration-testing git commit: [MNG-6135] Maven plugins and core extensions are not dependencies, they should be resolved the same way as projects.
[MNG-6135] Maven plugins and core extensions are not dependencies, they should be resolved the same way as projects. o Updated to add all missing POMs to the test repository. Due to core extensions getting resolved as projects, the POMs of all dependencies need to be available in that repository even if the dependency is filtered out during resolution. Project: http://git-wip-us.apache.org/repos/asf/maven-integration-testing/repo Commit: http://git-wip-us.apache.org/repos/asf/maven-integration-testing/commit/3af028d2 Tree: http://git-wip-us.apache.org/repos/asf/maven-integration-testing/tree/3af028d2 Diff: http://git-wip-us.apache.org/repos/asf/maven-integration-testing/diff/3af028d2 Branch: refs/heads/DEPMGMT Commit: 3af028d2c4484c9c65db0031bcf12ae46cb55192 Parents: 0c0f0de Author: Christian Schulte Authored: Mon Dec 19 01:51:44 2016 +0100 Committer: Christian Schulte Committed: Sat Feb 4 23:17:49 2017 +0100 -- .../repo/org/apache/apache/6/apache-6.pom | 333 .../3.0.3/maven-aether-provider-3.0.3.pom | 86 +++ .../3.0.3/maven-artifact-3.0.3.pom | 49 ++ .../maven/maven-core/3.0.3/maven-core-3.0.3.pom | 200 + .../3.0.3/maven-model-builder-3.0.3.pom | 59 ++ .../maven-model/3.0.3/maven-model-3.0.3.pom | 122 +++ .../maven/maven-parent/15/maven-parent-15.pom | 760 +++ .../3.0.3/maven-plugin-api-3.0.3.pom| 70 ++ .../3.0.3/maven-repository-metadata-3.0.3.pom | 57 ++ .../3.0.3/maven-settings-builder-3.0.3.pom | 67 ++ .../3.0.3/maven-settings-3.0.3.pom | 57 ++ .../apache/maven/maven/3.0.3/maven-3.0.3.pom| 600 +++ .../2.4/plexus-classworlds-2.4.pom | 106 +++ .../plexus-component-annotations-1.5.5.pom | 20 + .../1.1.18/plexus-components-1.1.18.pom | 168 .../1.5.5/plexus-containers-1.5.5.pom | 122 +++ .../1.14/plexus-interpolation-1.14.pom | 20 + .../plexus-utils/2.0.6/plexus-utils-2.0.6.pom | 80 ++ .../plexus/plexus/2.0.7/plexus-2.0.7.pom| 535 + .../aether/aether-api/1.11/aether-api-1.11.pom | 47 ++ .../aether-impl/1.11/aether-impl-1.11.pom | 98 +++ .../aether-parent/1.11/aether-parent-1.11.pom | 326 .../aether/aether-spi/1.11/aether-spi-1.11.pom | 46 ++ .../aether-util/1.11/aether-util-1.11.pom | 56 ++ .../forge/forge-parent/4/forge-parent-4.pom | 225 ++ .../forge/forge-parent/6/forge-parent-6.pom | 253 ++ .../forge/forge-parent/7/forge-parent-7.pom | 303 .../plexus-cipher/1.4/plexus-cipher-1.4.pom | 67 ++ .../1.3/plexus-sec-dispatcher-1.3.pom | 97 +++ .../guice-bean/2.1.1/guice-bean-2.1.1.pom | 91 +++ .../guice-parent/2.9.4/guice-parent-2.9.4.pom | 385 ++ .../guice-plexus/2.1.1/guice-plexus-2.1.1.pom | 106 +++ .../sisu/sisu-guice/2.9.4/sisu-guice-2.9.4.pom | 257 +++ .../2.1.1/sisu-inject-bean-2.1.1.pom| 91 +++ .../2.1.1/sisu-inject-plexus-2.1.1.pom | 92 +++ .../sisu-inject/2.1.1/sisu-inject-2.1.1.pom | 61 ++ .../sisu-parent/2.1.1/sisu-parent-2.1.1.pom | 304 .../spice/spice-parent/12/spice-parent-12.pom | 214 ++ 38 files changed, 6630 insertions(+) -- http://git-wip-us.apache.org/repos/asf/maven-integration-testing/blob/3af028d2/core-it-suite/src/test/resources/mng-5771-core-extensions/repo/org/apache/apache/6/apache-6.pom -- diff --git a/core-it-suite/src/test/resources/mng-5771-core-extensions/repo/org/apache/apache/6/apache-6.pom b/core-it-suite/src/test/resources/mng-5771-core-extensions/repo/org/apache/apache/6/apache-6.pom new file mode 100644 index 000..c2f6a0e --- /dev/null +++ b/core-it-suite/src/test/resources/mng-5771-core-extensions/repo/org/apache/apache/6/apache-6.pom @@ -0,0 +1,333 @@ + + + + +http://maven.apache.org/POM/4.0.0"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd";> + 4.0.0 + + + org.apache + apache + 6 + pom + The Apache Software Foundation + +The Apache Software Foundation provides support for the Apache community of open-source software projects. +The Apache projects are characterized by a collaborative, consensus based development process, an open and +pragmatic software license, and a desire to create high quality software that leads the way in its field. +We consider ourselves not simply a group of projects sharing a server, but rather a community of developers +and users. + + + + The Apache Software License, Version 2.0 + http://www.apache.org/licenses/LICENSE-2.0.txt + repo + + + +The Apache Software Foundat
[10/13] maven-integration-testing git commit: [MNG-6135] Maven plugins and core extensions are not dependencies, they should be resolved the same way as projects.
http://git-wip-us.apache.org/repos/asf/maven-integration-testing/blob/3af028d2/core-it-suite/src/test/resources/mng-5771-core-extensions/repo/org/sonatype/sisu/sisu-parent/2.1.1/sisu-parent-2.1.1.pom -- diff --git a/core-it-suite/src/test/resources/mng-5771-core-extensions/repo/org/sonatype/sisu/sisu-parent/2.1.1/sisu-parent-2.1.1.pom b/core-it-suite/src/test/resources/mng-5771-core-extensions/repo/org/sonatype/sisu/sisu-parent/2.1.1/sisu-parent-2.1.1.pom new file mode 100644 index 000..dd106cb --- /dev/null +++ b/core-it-suite/src/test/resources/mng-5771-core-extensions/repo/org/sonatype/sisu/sisu-parent/2.1.1/sisu-parent-2.1.1.pom @@ -0,0 +1,304 @@ + + + + +http://maven.apache.org/POM/4.0.0"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd";> + + 4.0.0 + + +org.sonatype.forge +forge-parent +7 + + + pom + + org.sonatype.sisu + sisu-parent + 2.1.1 + + Sisu + + http://sisu.sonatype.org/ + 2010 + + +Sonatype, Inc. +http://www.sonatype.com + + + + + Sisu Developers List + sisu-dev-subscr...@sonatype.org + sisu-dev-unsubscr...@sonatype.org + sisu-...@sonatype.org + + + + Sisu Users List + sisu-user-subscr...@sonatype.org + sisu-user-unsubscr...@sonatype.org + sisu-u...@sonatype.org + + + + Sisu Commits List + sisu-scm-subscr...@sonatype.org + sisu-scm-unsubscr...@sonatype.org + + + + +scm:git:g...@github.com:sonatype/sisu.git + scm:git:g...@github.com:sonatype/sisu.git +g...@github.com:sonatype/sisu.git + + + +jira +https://issues.sonatype.org/browse/SISU + + + +Hudson +https://grid.sonatype.org/ci/job/Sisu/ + + + + + The Apache Software License, Version 2.0 + http://www.apache.org/licenses/LICENSE-2.0.txt + repo + + + Eclipse Public License, Version 1.0 + http://www.eclipse.org/legal/epl-v10.html + repo + + + + +sisu-inject + + + +UTF-8 + https://repository.sonatype.org/service/local/staging/deploy/maven2 + + + + + ch.qos.logback + logback-classic + 0.9.28 + test + + + org.testng + testng + 5.14.9 + test + + + + + + + +javax.inject +javax.inject +1 + + +aopalliance +aopalliance +1.0 + + + +org.slf4j +slf4j-api +1.6.1 + + + +org.osgi +org.osgi.core +4.2.0 + + +org.osgi +org.osgi.compendium +4.2.0 + + +org.apache.felix +org.apache.felix.framework +3.0.8 + + + +junit +junit +4.8.2 + + + + + + + + + + maven-compiler-plugin + 2.3.2 + +1.5 +1.5 + + + + maven-jar-plugin + 2.3.1 + + + org.apache.felix + maven-bundle-plugin + 2.1.0 + + + +J2SE-1.5,JavaSE-1.6 + + <_versionpolicy>[$(version;==;$(@)),$(version;+;$(@))) + <_nouses>true + <_removeheaders> +Embed-Dependency,Embed-Transitive, +Built-By,Tool,Created-By,Build-Jdk, +Include-Resource,Private-Package, +Bnd-LastModified + + + + + + maven-javadoc-plugin + 2.7 + + + maven-source-plugin + 2.1.2 + + + maven-surefire-plugin + 2.7.2 + +true +false + + + + maven-site-plugin + 3.0-beta-3 + + + maven-gpg-plugin + 1.1 + + + maven-release-plugin + 2.1 + +true + + + + + + +maven-enforcer-plugin +1.0 + + +enforce-java + + enforce + + + + + 3.0 + + + 1.6.0 + + + + + + + +org.codehaus.mojo +animal-sniffer-maven-plugin +1.6 + + +org.codehaus.mojo.signature +java15 +1.0 + + +javax.annotation.processing.* +javax.lang.model.* +javax.tools.* + + + + +ch
[12/13] maven-integration-testing git commit: [MNG-6135] Maven plugins and core extensions are not dependencies, they should be resolved the same way as projects.
http://git-wip-us.apache.org/repos/asf/maven-integration-testing/blob/3af028d2/core-it-suite/src/test/resources/mng-5771-core-extensions/repo/org/apache/maven/maven/3.0.3/maven-3.0.3.pom -- diff --git a/core-it-suite/src/test/resources/mng-5771-core-extensions/repo/org/apache/maven/maven/3.0.3/maven-3.0.3.pom b/core-it-suite/src/test/resources/mng-5771-core-extensions/repo/org/apache/maven/maven/3.0.3/maven-3.0.3.pom new file mode 100644 index 000..e2f2cd0 --- /dev/null +++ b/core-it-suite/src/test/resources/mng-5771-core-extensions/repo/org/apache/maven/maven/3.0.3/maven-3.0.3.pom @@ -0,0 +1,600 @@ + + + + +http://maven.apache.org/POM/4.0.0"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd";> + 4.0.0 + + +org.apache.maven +maven-parent +15 +../pom/maven/pom.xml + + + maven + 3.0.3 + pom + + Apache Maven + Maven is a project development management and +comprehension tool. Based on the concept of a project object model: +builds, dependency management, documentation creation, site +publication, and distribution publication are all controlled from +the declarative file. Maven can be extended by plugins to utilise a +number of other development tools for reporting or the build +process. + + http://maven.apache.org/ + 2001 + + +2.4 +1.2 +1.2_Java1.3 +3.8.2 +1.5.5 +1.14 +2.0.6 +2.1.1 +1.0-beta-7 +1.3 +1.4 +1.4.1 +1.3 +1.11 + true + + + + + Maven Developer List + dev-subscr...@maven.apache.org + dev-unsubscr...@maven.apache.org + d...@maven.apache.org + http://mail-archives.apache.org/mod_mbox/maven-dev + + http://www.mail-archive.com/dev@maven.apache.org/ + http://old.nabble.com/Maven-Developers-f179.html +http://maven.dev.markmail.org/ + + + + Maven User List + users-subscr...@maven.apache.org + users-unsubscr...@maven.apache.org + us...@maven.apache.org + http://mail-archives.apache.org/mod_mbox/maven-users + + http://www.mail-archive.com/users@maven.apache.org/ + http://old.nabble.com/Maven---Users-f178.html +http://maven.users.markmail.org/ + + + + Maven Issues List + issues-subscr...@maven.apache.org + issues-unsubscr...@maven.apache.org + http://mail-archives.apache.org/mod_mbox/maven-issues/ + + http://www.mail-archive.com/issues@maven.apache.org + http://old.nabble.com/Maven---Issues-f15573.html +http://maven.issues.markmail.org/ + + + + Maven Commits List + commits-subscr...@maven.apache.org + commits-unsubscr...@maven.apache.org + http://mail-archives.apache.org/mod_mbox/maven-commits + + http://www.mail-archive.com/commits@maven.apache.org + http://old.nabble.com/Maven---Commits-f15575.html +http://maven.commits.markmail.org/ + + + + + Maven Announcements List + annou...@maven.apache.org + announce-subscr...@maven.apache.org + announce-unsubscr...@maven.apache.org + http://mail-archives.apache.org/mod_mbox/maven-announce/ + + http://www.mail-archive.com/announce@maven.apache.org + http://old.nabble.com/Maven-Announcements-f15617.html +http://maven.announce.markmail.org/ + + + + Maven Notifications List + notifications-subscr...@maven.apache.org + notifications-unsubscr...@maven.apache.org + http://mail-archives.apache.org/mod_mbox/maven-notifications/ + + http://www.mail-archive.com/notifications@maven.apache.org + http://old.nabble.com/Maven---Notifications-f15574.html +http://maven.notifications.markmail.org/ + + + + + +maven-core +apache-maven +maven-model +maven-settings +maven-settings-builder +maven-artifact +maven-aether-provider +maven-repository-metadata +maven-plugin-api +maven-model-builder +maven-embedder +maven-compat + + + + scm:svn:http://svn.apache.org/repos/asf/maven/maven-3/tags/maven-3.0.3 + scm:svn:https://svn.apache.org/repos/asf/maven/maven-3/tags/maven-3.0.3 +http://svn.apache.org/viewvc/maven/maven-3/tags/maven-3.0.3 + + +jira +http://jira.codehaus.org/browse/MNG + + + + apache.website + scp://people.apache.org/www/maven.apache.org/ref/${project.version}/ + + + + + + + + + + +org.apache.maven +maven-model +${project.version} + + +org.apache.maven +maven-settings +${project.version} + + +org.apache.maven +maven-settings-builder +${project.version} +