[maven] Git Push Summary
Repository: maven Updated Branches: refs/heads/MNG-5878 [deleted] 604a95f57 refs/heads/MNG-6110 [deleted] 9d94541f7
[7/9] maven git commit: [MNG-6110] renamed 'maven-aether-provider' to 'maven-resolver-provider'
[MNG-6110] renamed 'maven-aether-provider' to 'maven-resolver-provider' Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/8972072e Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/8972072e Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/8972072e Branch: refs/heads/master Commit: 8972072e3200e2ecfe2acb6d0b2dc40b10a6bc31 Parents: 4d6c929 Author: Christian SchulteAuthored: Sun Dec 11 23:36:04 2016 +0100 Committer: Hervé Boutemy Committed: Wed Feb 1 07:59:53 2017 +0100 -- maven-aether-provider/pom.xml | 128 .../ArtifactDescriptorReaderDelegate.java | 153 - .../internal/ArtifactDescriptorUtils.java | 81 --- .../DefaultArtifactDescriptorReader.java| 415 - .../repository/internal/DefaultModelCache.java | 119 .../internal/DefaultModelResolver.java | 229 --- .../internal/DefaultVersionRangeResolver.java | 307 - .../internal/DefaultVersionResolver.java| 617 --- .../internal/LocalSnapshotMetadata.java | 163 - .../LocalSnapshotMetadataGenerator.java | 82 --- .../repository/internal/MavenAetherModule.java | 76 --- .../repository/internal/MavenMetadata.java | 137 .../internal/MavenRepositorySystemUtils.java| 145 - .../internal/MavenSnapshotMetadata.java | 100 --- .../internal/MavenWorkspaceReader.java | 32 - .../repository/internal/RelocatedArtifact.java | 114 .../internal/RemoteSnapshotMetadata.java| 157 - .../RemoteSnapshotMetadataGenerator.java| 107 .../SnapshotMetadataGeneratorFactory.java | 52 -- .../repository/internal/VersionsMetadata.java | 133 .../internal/VersionsMetadataGenerator.java | 108 .../VersionsMetadataGeneratorFactory.java | 52 -- .../maven/repository/internal/package-info.java | 25 - maven-aether-provider/src/site/apt/index.apt| 33 - maven-aether-provider/src/site/site.xml | 36 -- .../internal/AbstractRepositoryTestCase.java| 87 --- .../DefaultArtifactDescriptorReaderTest.java| 77 --- .../internal/DefaultVersionResolverTest.java| 96 --- .../MavenRepositorySystemUtilsTest.java | 45 -- .../internal/RemoteSnapshotMetadataTest.java| 82 --- .../internal/RepositorySystemTest.java | 220 --- .../util/ConsoleRepositoryListener.java | 132 .../internal/util/ConsoleTransferListener.java | 186 -- .../07.20.3-SNAPSHOT/maven-metadata.xml | 49 -- .../0.4.0-SNAPSHOT/maven-metadata.xml | 47 -- .../artifact/1.0/artifact-1.0-classifier.zip| 0 .../ut/simple/artifact/1.0/artifact-1.0.jar | 0 .../ut/simple/artifact/1.0/artifact-1.0.pom | 48 -- .../ut/simple/artifact/1.0/artifact-1.0.zip | 0 .../repo/ut/simple/artifact/maven-metadata.xml | 34 - .../dependency/1.0/dependency-1.0-sources.jar | 0 .../ut/simple/dependency/1.0/dependency-1.0.jar | 0 .../ut/simple/dependency/1.0/dependency-1.0.pom | 31 - .../ut/simple/dependency/maven-metadata.xml | 34 - .../repo/ut/simple/parent/1.0/parent-1.0.pom| 43 -- .../repo/ut/simple/parent/maven-metadata.xml| 34 - maven-compat/pom.xml| 2 +- maven-core/pom.xml | 2 +- .../main/resources/META-INF/maven/extension.xml | 13 +- maven-resolver-provider/pom.xml | 128 .../ArtifactDescriptorReaderDelegate.java | 153 + .../internal/ArtifactDescriptorUtils.java | 81 +++ .../DefaultArtifactDescriptorReader.java| 415 + .../repository/internal/DefaultModelCache.java | 119 .../internal/DefaultModelResolver.java | 229 +++ .../internal/DefaultVersionRangeResolver.java | 307 + .../internal/DefaultVersionResolver.java| 617 +++ .../internal/LocalSnapshotMetadata.java | 163 + .../LocalSnapshotMetadataGenerator.java | 82 +++ .../repository/internal/MavenAetherModule.java | 80 +++ .../repository/internal/MavenMetadata.java | 137 .../internal/MavenRepositorySystemUtils.java| 145 + .../internal/MavenResolverModule.java | 70 +++ .../internal/MavenSnapshotMetadata.java | 100 +++ .../internal/MavenWorkspaceReader.java | 32 + .../repository/internal/RelocatedArtifact.java | 114 .../internal/RemoteSnapshotMetadata.java| 157 + .../RemoteSnapshotMetadataGenerator.java| 107 .../SnapshotMetadataGeneratorFactory.java | 52 ++ .../repository/internal/VersionsMetadata.java | 133 .../internal/VersionsMetadataGenerator.java | 108 .../VersionsMetadataGeneratorFactory.java | 52 ++
[2/9] maven git commit: [MNG-6110] renamed 'maven-aether-provider' to 'maven-resolver-provider'
http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/util/ConsoleTransferListener.java -- diff --git a/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/util/ConsoleTransferListener.java b/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/util/ConsoleTransferListener.java new file mode 100644 index 000..cf587d8 --- /dev/null +++ b/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/util/ConsoleTransferListener.java @@ -0,0 +1,186 @@ +package org.apache.maven.repository.internal.util; + +/* + * 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.PrintStream; +import java.text.DecimalFormat; +import java.text.DecimalFormatSymbols; +import java.util.Locale; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; + +import org.eclipse.aether.transfer.AbstractTransferListener; +import org.eclipse.aether.transfer.TransferEvent; +import org.eclipse.aether.transfer.TransferResource; + +public class ConsoleTransferListener +extends AbstractTransferListener +{ + +private PrintStream out; + +private Mapdownloads = new ConcurrentHashMap<>(); + +private int lastLength; + +public ConsoleTransferListener() +{ +this( null ); +} + +public ConsoleTransferListener( PrintStream out ) +{ +this.out = ( out != null ) ? out : System.out; +} + +@Override +public void transferInitiated( TransferEvent event ) +{ +String message = event.getRequestType() == TransferEvent.RequestType.PUT ? "Uploading" : "Downloading"; + +println( "transferInitiated", message + ": " + event.getResource().getRepositoryUrl() + event.getResource().getResourceName() ); +} + +@Override +public void transferProgressed( TransferEvent event ) +{ +TransferResource resource = event.getResource(); +downloads.put( resource, event.getTransferredBytes() ); + +StringBuilder buffer = new StringBuilder( 64 ); + +for ( Map.Entry entry : downloads.entrySet() ) +{ +long total = entry.getKey().getContentLength(); +long complete = entry.getValue(); + +buffer.append( getStatus( complete, total ) ).append( " " ); +} + +int pad = lastLength - buffer.length(); +lastLength = buffer.length(); +pad( buffer, pad ); +buffer.append( '\r' ); + +print( "transferProgressed", buffer.toString() ); +} + +private String getStatus( long complete, long total ) +{ +if ( total >= 1024 ) +{ +return toKB( complete ) + "/" + toKB( total ) + " KB "; +} +else if ( total >= 0 ) +{ +return complete + "/" + total + " B "; +} +else if ( complete >= 1024 ) +{ +return toKB( complete ) + " KB "; +} +else +{ +return complete + " B "; +} +} + +private void pad( StringBuilder buffer, int spaces ) +{ +String block = ""; +while ( spaces > 0 ) +{ +int n = Math.min( spaces, block.length() ); +buffer.append( block, 0, n ); +spaces -= n; +} +} + +@Override +public void transferSucceeded( TransferEvent event ) +{ +transferCompleted( event ); + +TransferResource resource = event.getResource(); +long contentLength = event.getTransferredBytes(); +if ( contentLength >= 0 ) +{ +String type = ( event.getRequestType() == TransferEvent.RequestType.PUT ? "Uploaded" : "Downloaded" ); +String len = contentLength >= 1024 ? toKB( contentLength ) + " KB" : contentLength + " B"; + +String throughput = ""; +long duration = System.currentTimeMillis() - resource.getTransferStartTime(); +if ( duration > 0 ) +{ +DecimalFormat format = new
[1/9] maven git commit: [MNG-6110] Upgrade Aether to Maven Resolver 1.0.3
Repository: maven Updated Branches: refs/heads/master a3cdfbbbe -> 9b763cc00 [MNG-6110] Upgrade Aether to Maven Resolver 1.0.3 Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/4d6c9292 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/4d6c9292 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/4d6c9292 Branch: refs/heads/master Commit: 4d6c9292c433626fa0b9a1cf711d4d0c366e7f33 Parents: a3cdfbb Author: Harald WellmannAuthored: Sun Nov 6 12:13:32 2016 +0100 Committer: Hervé Boutemy Committed: Wed Feb 1 07:59:52 2017 +0100 -- apache-maven/pom.xml | 8 maven-aether-provider/pom.xml | 26 - maven-compat/pom.xml | 24 +++ maven-core/pom.xml| 16 ++-- maven-embedder/pom.xml| 8 pom.xml | 39 +++--- 6 files changed, 75 insertions(+), 46 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/4d6c9292/apache-maven/pom.xml -- diff --git a/apache-maven/pom.xml b/apache-maven/pom.xml index e7d5608..6fc5a73 100644 --- a/apache-maven/pom.xml +++ b/apache-maven/pom.xml @@ -90,12 +90,12 @@ under the License. wagon-file - org.eclipse.aether - aether-connector-basic + org.apache.maven.resolver + maven-resolver-connector-basic - org.eclipse.aether - aether-transport-wagon + org.apache.maven.resolver + maven-resolver-transport-wagon org.apache.maven http://git-wip-us.apache.org/repos/asf/maven/blob/4d6c9292/maven-aether-provider/pom.xml -- diff --git a/maven-aether-provider/pom.xml b/maven-aether-provider/pom.xml index 0f3cb61..91d1ae7 100644 --- a/maven-aether-provider/pom.xml +++ b/maven-aether-provider/pom.xml @@ -31,7 +31,7 @@ under the License. maven-aether-provider Maven Aether Provider - Extensions to Aether for utilizing Maven POM and repository metadata. + Extensions to Maven Resolver for utilizing Maven POM and repository metadata. @@ -47,20 +47,20 @@ under the License. maven-repository-metadata - org.eclipse.aether - aether-api + org.apache.maven.resolver + maven-resolver-api - org.eclipse.aether - aether-spi + org.apache.maven.resolver + maven-resolver-spi - org.eclipse.aether - aether-util + org.apache.maven.resolver + maven-resolver-util - org.eclipse.aether - aether-impl + org.apache.maven.resolver + maven-resolver-impl org.codehaus.plexus @@ -88,13 +88,13 @@ under the License. - org.eclipse.aether - aether-connector-basic + org.apache.maven.resolver + maven-resolver-connector-basic test - org.eclipse.aether - aether-transport-wagon + org.apache.maven.resolver + maven-resolver-transport-wagon test http://git-wip-us.apache.org/repos/asf/maven/blob/4d6c9292/maven-compat/pom.xml -- diff --git a/maven-compat/pom.xml b/maven-compat/pom.xml index 3a0a45c..876c11c 100644 --- a/maven-compat/pom.xml +++ b/maven-compat/pom.xml @@ -59,6 +59,22 @@ under the License. maven-core + org.apache.maven + maven-aether-provider + + + org.apache.maven.resolver + maven-resolver-api + + + org.apache.maven.resolver + maven-resolver-util + + + org.apache.maven.resolver + maven-resolver-impl + + org.codehaus.plexus plexus-utils @@ -85,13 +101,13 @@ under the License. test - org.eclipse.aether - aether-connector-basic + org.apache.maven.resolver + maven-resolver-connector-basic test - org.eclipse.aether - aether-transport-wagon + org.apache.maven.resolver + maven-resolver-transport-wagon test http://git-wip-us.apache.org/repos/asf/maven/blob/4d6c9292/maven-core/pom.xml -- diff --git a/maven-core/pom.xml b/maven-core/pom.xml index d147dd8..ad5484a 100644 --- a/maven-core/pom.xml +++ b/maven-core/pom.xml @@ -73,16 +73,20 @@ under the License. maven-aether-provider - org.eclipse.aether - aether-impl + org.apache.maven.resolver + maven-resolver-impl - org.eclipse.aether - aether-api +
[9/9] maven git commit: [MNG-5878] added project.directory property to support module name != artifactId in every calculated URLs
[MNG-5878] added project.directory property to support module name != artifactId in every calculated URLs Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/9b763cc0 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/9b763cc0 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/9b763cc0 Branch: refs/heads/master Commit: 9b763cc002e9a4e247baf7538727da5a29a6ce0b Parents: 1cb2e92 Author: Hervé BoutemyAuthored: Sat Dec 5 23:44:20 2015 +0100 Committer: Hervé Boutemy Committed: Wed Feb 1 08:01:11 2017 +0100 -- .../DefaultInheritanceAssembler.java| 66 +++- maven-model-builder/src/site/apt/index.apt | 37 --- .../DefaultInheritanceAssemblerTest.java| 39 ++-- .../module-path-not-artifactId-child.xml| 43 + .../module-path-not-artifactId-expected.xml | 58 + .../module-path-not-artifactId-parent.xml | 48 ++ maven-model/src/main/mdo/maven.mdo | 10 +-- 7 files changed, 270 insertions(+), 31 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/9b763cc0/maven-model-builder/src/main/java/org/apache/maven/model/inheritance/DefaultInheritanceAssembler.java -- diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/inheritance/DefaultInheritanceAssembler.java b/maven-model-builder/src/main/java/org/apache/maven/model/inheritance/DefaultInheritanceAssembler.java index 6cf4760..8206da9 100644 --- a/maven-model-builder/src/main/java/org/apache/maven/model/inheritance/DefaultInheritanceAssembler.java +++ b/maven-model-builder/src/main/java/org/apache/maven/model/inheritance/DefaultInheritanceAssembler.java @@ -19,14 +19,16 @@ package org.apache.maven.model.inheritance; * under the License. */ -import java.io.File; import java.util.ArrayList; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; +import java.util.Properties; +import org.apache.maven.model.InputLocation; import org.apache.maven.model.Model; +import org.apache.maven.model.ModelBase; import org.apache.maven.model.Plugin; import org.apache.maven.model.PluginContainer; import org.apache.maven.model.ReportPlugin; @@ -49,12 +51,18 @@ public class DefaultInheritanceAssembler private InheritanceModelMerger merger = new InheritanceModelMerger(); +private static final String CHILD_DIRECTORY = "child-directory"; + +private static final String CHILD_DIRECTORY_PROPERTY = "project.directory"; + @Override public void assembleModelInheritance( Model child, Model parent, ModelBuildingRequest request, ModelProblemCollector problems ) { Map
[5/9] maven git commit: [MNG-6110] renamed 'maven-aether-provider' to 'maven-resolver-provider'
http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-aether-provider/src/test/java/org/apache/maven/repository/internal/AbstractRepositoryTestCase.java -- diff --git a/maven-aether-provider/src/test/java/org/apache/maven/repository/internal/AbstractRepositoryTestCase.java b/maven-aether-provider/src/test/java/org/apache/maven/repository/internal/AbstractRepositoryTestCase.java deleted file mode 100644 index b81450c..000 --- a/maven-aether-provider/src/test/java/org/apache/maven/repository/internal/AbstractRepositoryTestCase.java +++ /dev/null @@ -1,87 +0,0 @@ -package org.apache.maven.repository.internal; - -/* - * 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.net.MalformedURLException; - -import org.apache.maven.repository.internal.util.ConsoleRepositoryListener; -import org.apache.maven.repository.internal.util.ConsoleTransferListener; -import org.codehaus.plexus.ContainerConfiguration; -import org.codehaus.plexus.PlexusConstants; -import org.codehaus.plexus.PlexusTestCase; -import org.eclipse.aether.DefaultRepositorySystemSession; -import org.eclipse.aether.RepositorySystem; -import org.eclipse.aether.RepositorySystemSession; -import org.eclipse.aether.repository.LocalRepository; -import org.eclipse.aether.repository.RemoteRepository; - -public abstract class AbstractRepositoryTestCase -extends PlexusTestCase -{ -protected RepositorySystem system; - -protected RepositorySystemSession session; - -@Override -protected void customizeContainerConfiguration( ContainerConfiguration containerConfiguration ) -{ -super.customizeContainerConfiguration( containerConfiguration ); -containerConfiguration.setAutoWiring( true ); -containerConfiguration.setClassPathScanning( PlexusConstants.SCANNING_INDEX ); -} - -@Override -protected void setUp() -throws Exception -{ -super.setUp(); -system = lookup( RepositorySystem.class ); -session = newMavenRepositorySystemSession( system ); -} - -@Override -protected void tearDown() -throws Exception -{ -session = null; -system = null; -super.tearDown(); -} - -public static RepositorySystemSession newMavenRepositorySystemSession( RepositorySystem system ) -{ -DefaultRepositorySystemSession session = MavenRepositorySystemUtils.newSession(); - -LocalRepository localRepo = new LocalRepository( "target/local-repo" ); -session.setLocalRepositoryManager( system.newLocalRepositoryManager( session, localRepo ) ); - -session.setTransferListener( new ConsoleTransferListener() ); -session.setRepositoryListener( new ConsoleRepositoryListener() ); - -return session; -} - -public static RemoteRepository newTestRepository() -throws MalformedURLException -{ -return new RemoteRepository.Builder( "repo", "default", - getTestFile( "target/test-classes/repo" ).toURI().toURL().toString() ).build(); -} -} http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-aether-provider/src/test/java/org/apache/maven/repository/internal/DefaultArtifactDescriptorReaderTest.java -- diff --git a/maven-aether-provider/src/test/java/org/apache/maven/repository/internal/DefaultArtifactDescriptorReaderTest.java b/maven-aether-provider/src/test/java/org/apache/maven/repository/internal/DefaultArtifactDescriptorReaderTest.java deleted file mode 100644 index e873138..000 --- a/maven-aether-provider/src/test/java/org/apache/maven/repository/internal/DefaultArtifactDescriptorReaderTest.java +++ /dev/null @@ -1,77 +0,0 @@ -package org.apache.maven.repository.internal; - -/* - * 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
[8/9] maven git commit: [MNG-6140] renamed aether to resolver, added slf4j-provider
[MNG-6140] renamed aether to resolver, added slf4j-provider Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/1cb2e92b Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/1cb2e92b Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/1cb2e92b Branch: refs/heads/master Commit: 1cb2e92b5ad6bc2baa80c48b6357d5f42df4e48f Parents: 8972072 Author: Hervé BoutemyAuthored: Mon Dec 26 19:21:29 2016 +0100 Committer: Hervé Boutemy Committed: Wed Feb 1 07:59:53 2017 +0100 -- src/site/resources/images/maven-deps.png | Bin 73105 -> 69305 bytes src/site/xdoc/index.xml | 54 ++ src/site/xdoc/maven-deps.odg | Bin 32324 -> 18602 bytes 3 files changed, 29 insertions(+), 25 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/1cb2e92b/src/site/resources/images/maven-deps.png -- diff --git a/src/site/resources/images/maven-deps.png b/src/site/resources/images/maven-deps.png index d23033f..a7084e8 100644 Binary files a/src/site/resources/images/maven-deps.png and b/src/site/resources/images/maven-deps.png differ http://git-wip-us.apache.org/repos/asf/maven/blob/1cb2e92b/src/site/xdoc/index.xml -- diff --git a/src/site/xdoc/index.xml b/src/site/xdoc/index.xml index 4cd2f66..78c47fb 100644 --- a/src/site/xdoc/index.xml +++ b/src/site/xdoc/index.xml @@ -1,22 +1,22 @@ @@ -40,24 +40,28 @@ process. - + - + - + - + - - http://www.slf4j.org/manual.html; /> + + https://maven.apache.org/resolver/; /> + http://www.slf4j.org/manual.html; /> http://commons.apache.org/cli/; /> + https://maven.apache.org/shared/maven-shared-utils/; /> + http://fusesource.github.io/jansi/; /> + https://github.com/fusesource/jansi-native; /> https://maven.apache.org/wagon/wagon-provider-api/; /> https://github.com/codehaus-plexus/plexus-sec-dispatcher; /> https://github.com/codehaus-plexus/plexus-cipher; /> @@ -66,9 +70,9 @@ https://codehaus-plexus.github.io/plexus-classworlds; /> https://codehaus-plexus.github.io/plexus-utils; /> https://codehaus-plexus.github.io/; /> - http://www.eclipse.org/projects/project_summary.php?projectid=technology.aether; /> - http://www.eclipse.org/projects/project_summary.php?projectid=technology.sisu; /> - http://code.google.com/p/google-guice/; /> + http://www.eclipse.org/projects/project_summary.php?projectid=technology.sisu; /> + http://code.google.com/p/google-guice/; /> + http://docs.oracle.com/javaee/6/api/javax/inject/package-summary.html; /> http://git-wip-us.apache.org/repos/asf/maven/blob/1cb2e92b/src/site/xdoc/maven-deps.odg -- diff --git a/src/site/xdoc/maven-deps.odg b/src/site/xdoc/maven-deps.odg index 9d4193a..f95b83f 100644 Binary files a/src/site/xdoc/maven-deps.odg and b/src/site/xdoc/maven-deps.odg differ
[3/9] maven git commit: [MNG-6110] renamed 'maven-aether-provider' to 'maven-resolver-provider'
http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/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 new file mode 100644 index 000..1b11cb3 --- /dev/null +++ b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/MavenRepositorySystemUtils.java @@ -0,0 +1,145 @@ +package org.apache.maven.repository.internal; + +/* + * 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.util.Properties; + +import org.eclipse.aether.DefaultRepositorySystemSession; +import org.eclipse.aether.artifact.DefaultArtifactType; +import org.eclipse.aether.collection.DependencyGraphTransformer; +import org.eclipse.aether.collection.DependencyManager; +import org.eclipse.aether.collection.DependencySelector; +import org.eclipse.aether.collection.DependencyTraverser; +import org.eclipse.aether.impl.ArtifactDescriptorReader; +import org.eclipse.aether.impl.DefaultServiceLocator; +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.selector.AndDependencySelector; +import org.eclipse.aether.util.graph.selector.ExclusionDependencySelector; +import org.eclipse.aether.util.graph.selector.OptionalDependencySelector; +import org.eclipse.aether.util.graph.selector.ScopeDependencySelector; +import org.eclipse.aether.util.graph.transformer.ChainedDependencyGraphTransformer; +import org.eclipse.aether.util.graph.transformer.ConflictResolver; +import org.eclipse.aether.util.graph.transformer.JavaDependencyContextRefiner; +import org.eclipse.aether.util.graph.transformer.JavaScopeDeriver; +import org.eclipse.aether.util.graph.transformer.JavaScopeSelector; +import org.eclipse.aether.util.graph.transformer.NearestVersionSelector; +import org.eclipse.aether.util.graph.transformer.SimpleOptionalitySelector; +import org.eclipse.aether.util.graph.traverser.FatArtifactTraverser; +import org.eclipse.aether.util.repository.SimpleArtifactDescriptorPolicy; + +/** + * A utility class to assist in setting up a Maven-like repository system. Note: This component is meant to + * assist those clients that employ the repository system outside of an IoC container, Maven plugins should instead + * always use regular dependency injection to acquire the repository system. + * + * @author Benjamin Bentmann + */ +public final class MavenRepositorySystemUtils +{ + +private MavenRepositorySystemUtils() +{ +// hide constructor +} + +/** + * Creates a new service locator that already knows about all service implementations included in this library. To + * acquire a complete repository system, clients need to add some repository connectors for remote transfers. + * + * @return The new service locator, never {@code null}. + */ +public static DefaultServiceLocator newServiceLocator() +{ +DefaultServiceLocator locator = new DefaultServiceLocator(); +locator.addService( ArtifactDescriptorReader.class, DefaultArtifactDescriptorReader.class ); +locator.addService( VersionResolver.class, DefaultVersionResolver.class ); +locator.addService( VersionRangeResolver.class, DefaultVersionRangeResolver.class ); +locator.addService( MetadataGeneratorFactory.class, SnapshotMetadataGeneratorFactory.class ); +locator.addService( MetadataGeneratorFactory.class, VersionsMetadataGeneratorFactory.class ); +return locator; +} + +/** + * Creates a new Maven-like repository system session by initializing the session with values typical for + * Maven-based resolution. In more detail, this method configures settings relevant for the
[4/9] maven git commit: [MNG-6110] renamed 'maven-aether-provider' to 'maven-resolver-provider'
http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultArtifactDescriptorReader.java -- diff --git a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultArtifactDescriptorReader.java b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultArtifactDescriptorReader.java new file mode 100644 index 000..0f31330 --- /dev/null +++ b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultArtifactDescriptorReader.java @@ -0,0 +1,415 @@ +package org.apache.maven.repository.internal; + +/* + * 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.util.LinkedHashSet; +import java.util.Map; +import java.util.Properties; +import java.util.Set; + +import javax.inject.Inject; +import javax.inject.Named; + +import org.apache.commons.lang3.Validate; +import org.apache.maven.model.DistributionManagement; +import org.apache.maven.model.Model; +import org.apache.maven.model.Relocation; +import org.apache.maven.model.building.DefaultModelBuilderFactory; +import org.apache.maven.model.building.DefaultModelBuildingRequest; +import org.apache.maven.model.building.FileModelSource; +import org.apache.maven.model.building.ModelBuilder; +import org.apache.maven.model.building.ModelBuildingException; +import org.apache.maven.model.building.ModelBuildingRequest; +import org.apache.maven.model.building.ModelProblem; +import org.apache.maven.model.resolution.UnresolvableModelException; +import org.codehaus.plexus.component.annotations.Component; +import org.codehaus.plexus.component.annotations.Requirement; +import org.eclipse.aether.RepositoryEvent; +import org.eclipse.aether.RepositoryEvent.EventType; +import org.eclipse.aether.RepositoryException; +import org.eclipse.aether.RepositorySystemSession; +import org.eclipse.aether.RequestTrace; +import org.eclipse.aether.artifact.Artifact; +import org.eclipse.aether.impl.ArtifactDescriptorReader; +import org.eclipse.aether.impl.ArtifactResolver; +import org.eclipse.aether.impl.RemoteRepositoryManager; +import org.eclipse.aether.impl.RepositoryEventDispatcher; +import org.eclipse.aether.impl.VersionRangeResolver; +import org.eclipse.aether.impl.VersionResolver; +import org.eclipse.aether.repository.WorkspaceReader; +import org.eclipse.aether.repository.WorkspaceRepository; +import org.eclipse.aether.resolution.ArtifactDescriptorException; +import org.eclipse.aether.resolution.ArtifactDescriptorPolicy; +import org.eclipse.aether.resolution.ArtifactDescriptorPolicyRequest; +import org.eclipse.aether.resolution.ArtifactDescriptorRequest; +import org.eclipse.aether.resolution.ArtifactDescriptorResult; +import org.eclipse.aether.resolution.ArtifactRequest; +import org.eclipse.aether.resolution.ArtifactResolutionException; +import org.eclipse.aether.resolution.ArtifactResult; +import org.eclipse.aether.resolution.VersionRequest; +import org.eclipse.aether.resolution.VersionResolutionException; +import org.eclipse.aether.resolution.VersionResult; +import org.eclipse.aether.spi.locator.Service; +import org.eclipse.aether.spi.locator.ServiceLocator; +import org.eclipse.aether.spi.log.Logger; +import org.eclipse.aether.spi.log.LoggerFactory; +import org.eclipse.aether.spi.log.NullLoggerFactory; +import org.eclipse.aether.transfer.ArtifactNotFoundException; + +/** + * @author Benjamin Bentmann + */ +@Named +@Component( role = ArtifactDescriptorReader.class ) +public class DefaultArtifactDescriptorReader +implements ArtifactDescriptorReader, Service +{ + +@SuppressWarnings( "unused" ) +@Requirement( role = LoggerFactory.class ) +private Logger logger = NullLoggerFactory.LOGGER; + +@Requirement +private RemoteRepositoryManager remoteRepositoryManager; + +@Requirement +private VersionResolver versionResolver; + +@Requirement +private VersionRangeResolver versionRangeResolver; + +@Requirement +private ArtifactResolver artifactResolver; + +@Requirement +private RepositoryEventDispatcher repositoryEventDispatcher; + +@Requirement +private
[6/9] maven git commit: [MNG-6110] renamed 'maven-aether-provider' to 'maven-resolver-provider'
http://git-wip-us.apache.org/repos/asf/maven/blob/8972072e/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultVersionResolver.java -- diff --git a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultVersionResolver.java b/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultVersionResolver.java deleted file mode 100644 index 2b0890b..000 --- a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultVersionResolver.java +++ /dev/null @@ -1,617 +0,0 @@ -package org.apache.maven.repository.internal; - -/* - * 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.commons.lang3.Validate; -import org.apache.maven.artifact.repository.metadata.Snapshot; -import org.apache.maven.artifact.repository.metadata.SnapshotVersion; -import org.apache.maven.artifact.repository.metadata.Versioning; -import org.apache.maven.artifact.repository.metadata.io.xpp3.MetadataXpp3Reader; -import org.codehaus.plexus.component.annotations.Component; -import org.codehaus.plexus.component.annotations.Requirement; -import org.codehaus.plexus.util.IOUtil; -import org.codehaus.plexus.util.StringUtils; -import org.eclipse.aether.RepositoryCache; -import org.eclipse.aether.RepositoryEvent; -import org.eclipse.aether.RepositoryEvent.EventType; -import org.eclipse.aether.RepositorySystemSession; -import org.eclipse.aether.RequestTrace; -import org.eclipse.aether.SyncContext; -import org.eclipse.aether.artifact.Artifact; -import org.eclipse.aether.impl.MetadataResolver; -import org.eclipse.aether.impl.RepositoryEventDispatcher; -import org.eclipse.aether.impl.SyncContextFactory; -import org.eclipse.aether.impl.VersionResolver; -import org.eclipse.aether.internal.impl.CacheUtils; -import org.eclipse.aether.metadata.DefaultMetadata; -import org.eclipse.aether.metadata.Metadata; -import org.eclipse.aether.repository.ArtifactRepository; -import org.eclipse.aether.repository.LocalRepository; -import org.eclipse.aether.repository.RemoteRepository; -import org.eclipse.aether.repository.WorkspaceReader; -import org.eclipse.aether.repository.WorkspaceRepository; -import org.eclipse.aether.resolution.MetadataRequest; -import org.eclipse.aether.resolution.MetadataResult; -import org.eclipse.aether.resolution.VersionRequest; -import org.eclipse.aether.resolution.VersionResolutionException; -import org.eclipse.aether.resolution.VersionResult; -import org.eclipse.aether.spi.locator.Service; -import org.eclipse.aether.spi.locator.ServiceLocator; -import org.eclipse.aether.spi.log.Logger; -import org.eclipse.aether.spi.log.LoggerFactory; -import org.eclipse.aether.spi.log.NullLoggerFactory; -import org.eclipse.aether.util.ConfigUtils; - -import javax.inject.Inject; -import javax.inject.Named; -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -/** - * @author Benjamin Bentmann - */ -@Named -@Component( role = VersionResolver.class ) -public class DefaultVersionResolver -implements VersionResolver, Service -{ - -private static final String MAVEN_METADATA_XML = "maven-metadata.xml"; - -private static final String RELEASE = "RELEASE"; - -private static final String LATEST = "LATEST"; - -private static final String SNAPSHOT = "SNAPSHOT"; - -@SuppressWarnings( "unused" ) -@Requirement( role = LoggerFactory.class ) -private Logger logger = NullLoggerFactory.LOGGER; - -@Requirement -private MetadataResolver metadataResolver; - -@Requirement -private SyncContextFactory syncContextFactory; - -@Requirement -private RepositoryEventDispatcher repositoryEventDispatcher; - -public DefaultVersionResolver() -{ -// enable no-arg constructor -} - -@Inject -DefaultVersionResolver( MetadataResolver metadataResolver, SyncContextFactory syncContextFactory, -RepositoryEventDispatcher repositoryEventDispatcher, LoggerFactory loggerFactory ) -{ -
maven git commit: [MNG-5981] upgrade Sisu to 0.3.3 to pick up lifecycle fix
Repository: maven Updated Branches: refs/heads/MNG-5981 [created] 6ddaa113b [MNG-5981] upgrade Sisu to 0.3.3 to pick up lifecycle fix This closes #78 Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/6ddaa113 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/6ddaa113 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/6ddaa113 Branch: refs/heads/MNG-5981 Commit: 6ddaa113bcd76cb924b2104673df50215fe5091e Parents: a3cdfbb Author: Stuart McCullochAuthored: Wed Feb 17 23:55:18 2016 + Committer: Christian Schulte Committed: Wed Feb 1 05:36:08 2017 +0100 -- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/6ddaa113/pom.xml -- diff --git a/pom.xml b/pom.xml index b61e0af..cac2ea7 100644 --- a/pom.xml +++ b/pom.xml @@ -59,7 +59,7 @@ under the License. 18.0 4.0 -0.3.2 +0.3.3 2.12 1.3 1.7
[15/15] 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/49e42200 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/49e42200 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/49e42200 Branch: refs/heads/DEPMGMT-IT Commit: 49e422001f22891204a7c7537155573683aba916 Parents: 9085bfa Author: Christian SchulteAuthored: Tue Jan 31 20:42:18 2017 +0100 Committer: Christian Schulte Committed: Wed Feb 1 00:44:52 2017 +0100 -- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/49e42200/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') {
[12/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/1867ff28 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/1867ff28 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/1867ff28 Branch: refs/heads/DEPMGMT-IT Commit: 1867ff288cd32e1a7732dbd4227033bdbd606b32 Parents: f958a69 Author: Christian SchulteAuthored: Thu Feb 11 08:45:19 2016 +0100 Committer: Christian Schulte Committed: Wed Feb 1 00:42:12 2017 +0100 -- .../repository/internal/ArtifactDescriptorReaderDelegate.java | 6 +- .../src/main/java/org/apache/maven/RepositoryUtils.java | 7 ++- 2 files changed, 11 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/1867ff28/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/ArtifactDescriptorReaderDelegate.java -- diff --git a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/ArtifactDescriptorReaderDelegate.java b/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/ArtifactDescriptorReaderDelegate.java index 2395b36..184c327 100644 --- a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/ArtifactDescriptorReaderDelegate.java +++ b/maven-aether-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; } http://git-wip-us.apache.org/repos/asf/maven/blob/1867ff28/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; }
[10/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/ec286417 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/ec286417 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/ec286417 Branch: refs/heads/DEPMGMT-IT Commit: ec28641711928d8143934471aa9de08c3da7da95 Parents: 72e7eb8 Author: Christian SchulteAuthored: Tue Dec 13 22:35:13 2016 +0100 Committer: Christian Schulte Committed: Wed Feb 1 00:42:12 2017 +0100 -- .../maven/repository/internal/MavenRepositorySystemUtils.java | 5 ++--- .../maven/artifact/AbstractArtifactComponentTestCase.java | 4 ++-- 2 files changed, 4 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/ec286417/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/MavenRepositorySystemUtils.java -- diff --git a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/MavenRepositorySystemUtils.java b/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/MavenRepositorySystemUtils.java index 1b11cb3..f6aeb11 100644 --- a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/MavenRepositorySystemUtils.java +++ b/maven-aether-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 = http://git-wip-us.apache.org/repos/asf/maven/blob/ec286417/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" ),
[08/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/70814312 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/70814312 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/70814312 Branch: refs/heads/DEPMGMT-IT Commit: 70814312e3a64e13504160b75bd41d9ce6a396b0 Parents: 2f19236 Author: Christian SchulteAuthored: Tue Dec 13 03:30:32 2016 +0100 Committer: Christian Schulte Committed: Wed Feb 1 00:39:54 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/70814312/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java -- diff --git a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java b/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java index 0832a3a..a69b631 100644 --- a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java +++ b/maven-aether-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; }
[07/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/f9a426cd Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/f9a426cd Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/f9a426cd Branch: refs/heads/DEPMGMT-IT Commit: f9a426cd31e03d0aa86d151403913a682081e038 Parents: 7081431 Author: Christian SchulteAuthored: Tue Dec 13 20:16:20 2016 +0100 Committer: Christian Schulte Committed: Wed Feb 1 00:39:54 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/f9a426cd/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/f9a426cd/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 f11e77d..526e54d 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
[06/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/b6367816 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/b6367816 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/b6367816 Branch: refs/heads/DEPMGMT-IT Commit: b6367816824c4c569a768dde33d4539f91ea7de6 Parents: f9a426c Author: Christian SchulteAuthored: Thu Feb 18 14:07:02 2016 +0100 Committer: Christian Schulte Committed: Wed Feb 1 00:39:54 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 | 12 +- 5 files changed, 527 insertions(+), 120 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/b6367816/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 69e95ab..e26fcbc 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() - :
[09/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/617ab34d Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/617ab34d Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/617ab34d Branch: refs/heads/DEPMGMT-IT Commit: 617ab34d30a3426195780e92720551f8f7176d3c Parents: 4d0fd4d Author: Christian SchulteAuthored: Tue Jan 31 20:22:42 2017 +0100 Committer: Christian Schulte Committed: Wed Feb 1 00:42:12 2017 +0100 -- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/617ab34d/pom.xml -- diff --git a/pom.xml b/pom.xml index deeea39..a15fd7c 100644 --- a/pom.xml +++ b/pom.xml @@ -65,7 +65,7 @@ under the License. 1.7 1.8.3 1.3 -1.0.2.v20150114 +1.2.0-SNAPSHOT 1.7.5 true
[05/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/4d0fd4d9 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/4d0fd4d9 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/4d0fd4d9 Branch: refs/heads/DEPMGMT-IT Commit: 4d0fd4d92d8e4c2dadd5c4088805b74de84fa09f Parents: b636781 Author: Christian SchulteAuthored: Tue Jan 31 03:15:47 2017 +0100 Committer: Christian Schulte Committed: Wed Feb 1 00:39:54 2017 +0100 -- apache-maven/pom.xml | 2 +- maven-aether-provider/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-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/4d0fd4d9/apache-maven/pom.xml -- diff --git a/apache-maven/pom.xml b/apache-maven/pom.xml index a43ea4f..1d7f4aa 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/4d0fd4d9/maven-aether-provider/pom.xml -- diff --git a/maven-aether-provider/pom.xml b/maven-aether-provider/pom.xml index 9f8206f..8c293b8 100644 --- a/maven-aether-provider/pom.xml +++ b/maven-aether-provider/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.1-SNAPSHOT +3.6.0-SNAPSHOT maven-aether-provider http://git-wip-us.apache.org/repos/asf/maven/blob/4d0fd4d9/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/4d0fd4d9/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/4d0fd4d9/maven-compat/pom.xml -- diff --git a/maven-compat/pom.xml b/maven-compat/pom.xml index 626628d..8ba061c 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/4d0fd4d9/maven-core/pom.xml -- diff --git a/maven-core/pom.xml b/maven-core/pom.xml index e8274d0..9bd712e 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/4d0fd4d9/maven-embedder/pom.xml -- diff --git a/maven-embedder/pom.xml b/maven-embedder/pom.xml index f9d7d1a..53d91c0 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/4d0fd4d9/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
[11/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/f958a69c Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/f958a69c Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/f958a69c Branch: refs/heads/DEPMGMT-IT Commit: f958a69c9640d012533b47e18e1ccfec1dc5fdc9 Parents: 617ab34 Author: Christian SchulteAuthored: Wed Jan 27 03:46:11 2016 +0100 Committer: Christian Schulte Committed: Wed Feb 1 00:42:12 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/f958a69c/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 50c9e35..7f2f902 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/f958a69c/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
[13/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/9085bfaf Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/9085bfaf Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/9085bfaf Branch: refs/heads/DEPMGMT-IT Commit: 9085bfafd321fbac84de2bf6746dde9125c9d971 Parents: ec28641 Author: Christian SchulteAuthored: Sat Dec 17 03:07:04 2016 +0100 Committer: Christian Schulte Committed: Wed Feb 1 00:42:12 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/9085bfaf/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/9085bfaf/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;
[14/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/72e7eb8d Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/72e7eb8d Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/72e7eb8d Branch: refs/heads/DEPMGMT-IT Commit: 72e7eb8d8e68b6ad947c9aa687c9e39e916c1d30 Parents: 1867ff2 Author: Christian SchulteAuthored: Wed Feb 3 19:17:02 2016 +0100 Committer: Christian Schulte Committed: Wed Feb 1 00:42:12 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/72e7eb8d/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/72e7eb8d/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
[01/15] maven git commit: [MNG-4463] Dependency management import should support version ranges. [Forced Update!]
Repository: maven Updated Branches: refs/heads/DEPMGMT-IT 75a0aeab0 -> 49e422001 (forced update) [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/cc476caa Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/cc476caa Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/cc476caa Branch: refs/heads/DEPMGMT-IT Commit: cc476caa807fae7d666c2b250fa347294b69f992 Parents: 386e0b0 Author: Christian SchulteAuthored: Sat Jan 30 19:17:34 2016 +0100 Committer: Christian Schulte Committed: Wed Feb 1 00:37:05 2017 +0100 -- .../internal/DefaultModelResolver.java | 84 .../maven/project/ProjectModelResolver.java | 82 +++ .../model/building/DefaultModelBuilder.java | 20 - .../maven/model/resolution/ModelResolver.java | 32 4 files changed, 184 insertions(+), 34 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/cc476caa/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java -- diff --git a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java b/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java index f344959..0832a3a 100644 --- a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java +++ b/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.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; import org.apache.maven.model.Parent; @@ -182,25 +183,27 @@ class DefaultModelResolver 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 = +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 = versionRangeResolver.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() ); } @@ -208,22 +211,69 @@ class DefaultModelResolver && versionRangeResult.getVersionConstraint().getRange() != null && versionRangeResult.getVersionConstraint().getRange().getUpperBound() == null ) { -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
[03/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/514a69df Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/514a69df Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/514a69df Branch: refs/heads/DEPMGMT-IT Commit: 514a69df1574825b3e65d107cc9d22f23130886c Parents: b8edd34 Author: Christian SchulteAuthored: Sun Jun 19 16:32:25 2016 +0200 Committer: Christian Schulte Committed: Wed Feb 1 00:38:16 2017 +0100 -- .../model/building/DefaultModelBuilder.java | 59 +++- 1 file changed, 45 insertions(+), 14 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/514a69df/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 5ca1623..69e95ab 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; @@ -1218,7 +1216,40 @@ public class DefaultModelBuilder importMngt = new DependencyManagement(); } -putCache( request.getModelCache(), groupId, artifactId, version, ModelCacheTag.IMPORT, importMngt ); +// [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 = importMngt.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 : importMngt.getDependencies() ) +{ +includedDependency.getExclusions().addAll( dependency.getExclusions() ); +} +} +
[04/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/2f19236a Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/2f19236a Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/2f19236a Branch: refs/heads/DEPMGMT-IT Commit: 2f19236a43d952e4ef052087e0b30e7ded7b052b Parents: 514a69d Author: Christian SchulteAuthored: Tue Jan 31 03:17:58 2017 +0100 Committer: Christian Schulte Committed: Wed Feb 1 00:38:37 2017 +0100 -- apache-maven/pom.xml | 2 +- maven-aether-provider/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-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/2f19236a/apache-maven/pom.xml -- diff --git a/apache-maven/pom.xml b/apache-maven/pom.xml index e7d5608..a43ea4f 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/2f19236a/maven-aether-provider/pom.xml -- diff --git a/maven-aether-provider/pom.xml b/maven-aether-provider/pom.xml index 0f3cb61..9f8206f 100644 --- a/maven-aether-provider/pom.xml +++ b/maven-aether-provider/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT maven-aether-provider http://git-wip-us.apache.org/repos/asf/maven/blob/2f19236a/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/2f19236a/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/2f19236a/maven-compat/pom.xml -- diff --git a/maven-compat/pom.xml b/maven-compat/pom.xml index 3a0a45c..626628d 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/2f19236a/maven-core/pom.xml -- diff --git a/maven-core/pom.xml b/maven-core/pom.xml index d147dd8..e8274d0 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/2f19236a/maven-embedder/pom.xml -- diff --git a/maven-embedder/pom.xml b/maven-embedder/pom.xml index 75b92c9..f9d7d1a 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/2f19236a/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
[02/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/b8edd344 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/b8edd344 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/b8edd344 Branch: refs/heads/DEPMGMT-IT Commit: b8edd344094df2b7b6ef9990d33ea05f1efc8679 Parents: cc476ca Author: Christian SchulteAuthored: Tue Jun 21 21:35:40 2016 +0200 Committer: Christian Schulte Committed: Wed Feb 1 00:37:43 2017 +0100 -- .../model/building/DefaultModelBuilder.java | 190 --- 1 file changed, 125 insertions(+), 65 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/b8edd344/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 3532660..5ca1623 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 @@ -1114,8 +1114,6 @@ public class DefaultModelBuilder final WorkspaceModelResolver workspaceResolver = request.getWorkspaceModelResolver(); final ModelResolver modelResolver = request.getModelResolver(); -ModelBuildingRequest importRequest = null; - List importMngts = null; for ( Iterator it = depMngt.getDependencies().iterator(); it.hasNext(); ) @@ -1202,75 +1200,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() ); -
[03/14] 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/514a69df Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/514a69df Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/514a69df Branch: refs/heads/DEPMGMT Commit: 514a69df1574825b3e65d107cc9d22f23130886c Parents: b8edd34 Author: Christian SchulteAuthored: Sun Jun 19 16:32:25 2016 +0200 Committer: Christian Schulte Committed: Wed Feb 1 00:38:16 2017 +0100 -- .../model/building/DefaultModelBuilder.java | 59 +++- 1 file changed, 45 insertions(+), 14 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/514a69df/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 5ca1623..69e95ab 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; @@ -1218,7 +1216,40 @@ public class DefaultModelBuilder importMngt = new DependencyManagement(); } -putCache( request.getModelCache(), groupId, artifactId, version, ModelCacheTag.IMPORT, importMngt ); +// [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 = importMngt.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 : importMngt.getDependencies() ) +{ +includedDependency.getExclusions().addAll( dependency.getExclusions() ); +} +} +
[04/14] 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/2f19236a Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/2f19236a Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/2f19236a Branch: refs/heads/DEPMGMT Commit: 2f19236a43d952e4ef052087e0b30e7ded7b052b Parents: 514a69d Author: Christian SchulteAuthored: Tue Jan 31 03:17:58 2017 +0100 Committer: Christian Schulte Committed: Wed Feb 1 00:38:37 2017 +0100 -- apache-maven/pom.xml | 2 +- maven-aether-provider/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-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/2f19236a/apache-maven/pom.xml -- diff --git a/apache-maven/pom.xml b/apache-maven/pom.xml index e7d5608..a43ea4f 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/2f19236a/maven-aether-provider/pom.xml -- diff --git a/maven-aether-provider/pom.xml b/maven-aether-provider/pom.xml index 0f3cb61..9f8206f 100644 --- a/maven-aether-provider/pom.xml +++ b/maven-aether-provider/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT maven-aether-provider http://git-wip-us.apache.org/repos/asf/maven/blob/2f19236a/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/2f19236a/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/2f19236a/maven-compat/pom.xml -- diff --git a/maven-compat/pom.xml b/maven-compat/pom.xml index 3a0a45c..626628d 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/2f19236a/maven-core/pom.xml -- diff --git a/maven-core/pom.xml b/maven-core/pom.xml index d147dd8..e8274d0 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/2f19236a/maven-embedder/pom.xml -- diff --git a/maven-embedder/pom.xml b/maven-embedder/pom.xml index 75b92c9..f9d7d1a 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/2f19236a/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
[08/14] 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/f9a426cd Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/f9a426cd Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/f9a426cd Branch: refs/heads/DEPMGMT Commit: f9a426cd31e03d0aa86d151403913a682081e038 Parents: 7081431 Author: Christian SchulteAuthored: Tue Dec 13 20:16:20 2016 +0100 Committer: Christian Schulte Committed: Wed Feb 1 00:39:54 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/f9a426cd/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/f9a426cd/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 f11e77d..526e54d 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
[02/14] 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/b8edd344 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/b8edd344 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/b8edd344 Branch: refs/heads/DEPMGMT Commit: b8edd344094df2b7b6ef9990d33ea05f1efc8679 Parents: cc476ca Author: Christian SchulteAuthored: Tue Jun 21 21:35:40 2016 +0200 Committer: Christian Schulte Committed: Wed Feb 1 00:37:43 2017 +0100 -- .../model/building/DefaultModelBuilder.java | 190 --- 1 file changed, 125 insertions(+), 65 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/b8edd344/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 3532660..5ca1623 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 @@ -1114,8 +1114,6 @@ public class DefaultModelBuilder final WorkspaceModelResolver workspaceResolver = request.getWorkspaceModelResolver(); final ModelResolver modelResolver = request.getModelResolver(); -ModelBuildingRequest importRequest = null; - List importMngts = null; for ( Iterator it = depMngt.getDependencies().iterator(); it.hasNext(); ) @@ -1202,75 +1200,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() ); -
[12/14] 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/ec286417 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/ec286417 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/ec286417 Branch: refs/heads/DEPMGMT Commit: ec28641711928d8143934471aa9de08c3da7da95 Parents: 72e7eb8 Author: Christian SchulteAuthored: Tue Dec 13 22:35:13 2016 +0100 Committer: Christian Schulte Committed: Wed Feb 1 00:42:12 2017 +0100 -- .../maven/repository/internal/MavenRepositorySystemUtils.java | 5 ++--- .../maven/artifact/AbstractArtifactComponentTestCase.java | 4 ++-- 2 files changed, 4 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/ec286417/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/MavenRepositorySystemUtils.java -- diff --git a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/MavenRepositorySystemUtils.java b/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/MavenRepositorySystemUtils.java index 1b11cb3..f6aeb11 100644 --- a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/MavenRepositorySystemUtils.java +++ b/maven-aether-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 = http://git-wip-us.apache.org/repos/asf/maven/blob/ec286417/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" ),
[13/14] 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/f958a69c Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/f958a69c Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/f958a69c Branch: refs/heads/DEPMGMT Commit: f958a69c9640d012533b47e18e1ccfec1dc5fdc9 Parents: 617ab34 Author: Christian SchulteAuthored: Wed Jan 27 03:46:11 2016 +0100 Committer: Christian Schulte Committed: Wed Feb 1 00:42:12 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/f958a69c/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 50c9e35..7f2f902 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/f958a69c/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/14] 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/72e7eb8d Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/72e7eb8d Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/72e7eb8d Branch: refs/heads/DEPMGMT Commit: 72e7eb8d8e68b6ad947c9aa687c9e39e916c1d30 Parents: 1867ff2 Author: Christian SchulteAuthored: Wed Feb 3 19:17:02 2016 +0100 Committer: Christian Schulte Committed: Wed Feb 1 00:42:12 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/72e7eb8d/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/72e7eb8d/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
[05/14] 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/4d0fd4d9 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/4d0fd4d9 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/4d0fd4d9 Branch: refs/heads/DEPMGMT Commit: 4d0fd4d92d8e4c2dadd5c4088805b74de84fa09f Parents: b636781 Author: Christian SchulteAuthored: Tue Jan 31 03:15:47 2017 +0100 Committer: Christian Schulte Committed: Wed Feb 1 00:39:54 2017 +0100 -- apache-maven/pom.xml | 2 +- maven-aether-provider/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-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/4d0fd4d9/apache-maven/pom.xml -- diff --git a/apache-maven/pom.xml b/apache-maven/pom.xml index a43ea4f..1d7f4aa 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/4d0fd4d9/maven-aether-provider/pom.xml -- diff --git a/maven-aether-provider/pom.xml b/maven-aether-provider/pom.xml index 9f8206f..8c293b8 100644 --- a/maven-aether-provider/pom.xml +++ b/maven-aether-provider/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.1-SNAPSHOT +3.6.0-SNAPSHOT maven-aether-provider http://git-wip-us.apache.org/repos/asf/maven/blob/4d0fd4d9/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/4d0fd4d9/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/4d0fd4d9/maven-compat/pom.xml -- diff --git a/maven-compat/pom.xml b/maven-compat/pom.xml index 626628d..8ba061c 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/4d0fd4d9/maven-core/pom.xml -- diff --git a/maven-core/pom.xml b/maven-core/pom.xml index e8274d0..9bd712e 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/4d0fd4d9/maven-embedder/pom.xml -- diff --git a/maven-embedder/pom.xml b/maven-embedder/pom.xml index f9d7d1a..53d91c0 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/4d0fd4d9/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
[06/14] 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/b6367816 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/b6367816 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/b6367816 Branch: refs/heads/DEPMGMT Commit: b6367816824c4c569a768dde33d4539f91ea7de6 Parents: f9a426c Author: Christian SchulteAuthored: Thu Feb 18 14:07:02 2016 +0100 Committer: Christian Schulte Committed: Wed Feb 1 00:39:54 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 | 12 +- 5 files changed, 527 insertions(+), 120 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/b6367816/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 69e95ab..e26fcbc 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() - :
[11/14] 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/9085bfaf Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/9085bfaf Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/9085bfaf Branch: refs/heads/DEPMGMT Commit: 9085bfafd321fbac84de2bf6746dde9125c9d971 Parents: ec28641 Author: Christian SchulteAuthored: Sat Dec 17 03:07:04 2016 +0100 Committer: Christian Schulte Committed: Wed Feb 1 00:42:12 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/9085bfaf/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/9085bfaf/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;
[14/14] 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/1867ff28 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/1867ff28 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/1867ff28 Branch: refs/heads/DEPMGMT Commit: 1867ff288cd32e1a7732dbd4227033bdbd606b32 Parents: f958a69 Author: Christian SchulteAuthored: Thu Feb 11 08:45:19 2016 +0100 Committer: Christian Schulte Committed: Wed Feb 1 00:42:12 2017 +0100 -- .../repository/internal/ArtifactDescriptorReaderDelegate.java | 6 +- .../src/main/java/org/apache/maven/RepositoryUtils.java | 7 ++- 2 files changed, 11 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/1867ff28/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/ArtifactDescriptorReaderDelegate.java -- diff --git a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/ArtifactDescriptorReaderDelegate.java b/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/ArtifactDescriptorReaderDelegate.java index 2395b36..184c327 100644 --- a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/ArtifactDescriptorReaderDelegate.java +++ b/maven-aether-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; } http://git-wip-us.apache.org/repos/asf/maven/blob/1867ff28/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; }
[07/14] 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/70814312 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/70814312 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/70814312 Branch: refs/heads/DEPMGMT Commit: 70814312e3a64e13504160b75bd41d9ce6a396b0 Parents: 2f19236 Author: Christian SchulteAuthored: Tue Dec 13 03:30:32 2016 +0100 Committer: Christian Schulte Committed: Wed Feb 1 00:39:54 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/70814312/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java -- diff --git a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java b/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java index 0832a3a..a69b631 100644 --- a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java +++ b/maven-aether-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/14] 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/617ab34d Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/617ab34d Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/617ab34d Branch: refs/heads/DEPMGMT Commit: 617ab34d30a3426195780e92720551f8f7176d3c Parents: 4d0fd4d Author: Christian SchulteAuthored: Tue Jan 31 20:22:42 2017 +0100 Committer: Christian Schulte Committed: Wed Feb 1 00:42:12 2017 +0100 -- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/617ab34d/pom.xml -- diff --git a/pom.xml b/pom.xml index deeea39..a15fd7c 100644 --- a/pom.xml +++ b/pom.xml @@ -65,7 +65,7 @@ under the License. 1.7 1.8.3 1.3 -1.0.2.v20150114 +1.2.0-SNAPSHOT 1.7.5 true
[01/14] maven git commit: [MNG-4463] Dependency management import should support version ranges. [Forced Update!]
Repository: maven Updated Branches: refs/heads/DEPMGMT d988ed72d -> 9085bfafd (forced update) [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/cc476caa Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/cc476caa Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/cc476caa Branch: refs/heads/DEPMGMT Commit: cc476caa807fae7d666c2b250fa347294b69f992 Parents: 386e0b0 Author: Christian SchulteAuthored: Sat Jan 30 19:17:34 2016 +0100 Committer: Christian Schulte Committed: Wed Feb 1 00:37:05 2017 +0100 -- .../internal/DefaultModelResolver.java | 84 .../maven/project/ProjectModelResolver.java | 82 +++ .../model/building/DefaultModelBuilder.java | 20 - .../maven/model/resolution/ModelResolver.java | 32 4 files changed, 184 insertions(+), 34 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/cc476caa/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java -- diff --git a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java b/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java index f344959..0832a3a 100644 --- a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java +++ b/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.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; import org.apache.maven.model.Parent; @@ -182,25 +183,27 @@ class DefaultModelResolver 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 = +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 = versionRangeResolver.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() ); } @@ -208,22 +211,69 @@ class DefaultModelResolver && versionRangeResult.getVersionConstraint().getRange() != null && versionRangeResult.getVersionConstraint().getRange().getUpperBound() == null ) { -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",
[5/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/b6367816 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/b6367816 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/b6367816 Branch: refs/heads/DEPMGMT-INCLUDE-IT Commit: b6367816824c4c569a768dde33d4539f91ea7de6 Parents: f9a426c Author: Christian SchulteAuthored: Thu Feb 18 14:07:02 2016 +0100 Committer: Christian Schulte Committed: Wed Feb 1 00:39:54 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 | 12 +- 5 files changed, 527 insertions(+), 120 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/b6367816/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 69e95ab..e26fcbc 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() - :
[6/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/4d0fd4d9 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/4d0fd4d9 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/4d0fd4d9 Branch: refs/heads/DEPMGMT-INCLUDE-IT Commit: 4d0fd4d92d8e4c2dadd5c4088805b74de84fa09f Parents: b636781 Author: Christian SchulteAuthored: Tue Jan 31 03:15:47 2017 +0100 Committer: Christian Schulte Committed: Wed Feb 1 00:39:54 2017 +0100 -- apache-maven/pom.xml | 2 +- maven-aether-provider/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-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/4d0fd4d9/apache-maven/pom.xml -- diff --git a/apache-maven/pom.xml b/apache-maven/pom.xml index a43ea4f..1d7f4aa 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/4d0fd4d9/maven-aether-provider/pom.xml -- diff --git a/maven-aether-provider/pom.xml b/maven-aether-provider/pom.xml index 9f8206f..8c293b8 100644 --- a/maven-aether-provider/pom.xml +++ b/maven-aether-provider/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.1-SNAPSHOT +3.6.0-SNAPSHOT maven-aether-provider http://git-wip-us.apache.org/repos/asf/maven/blob/4d0fd4d9/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/4d0fd4d9/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/4d0fd4d9/maven-compat/pom.xml -- diff --git a/maven-compat/pom.xml b/maven-compat/pom.xml index 626628d..8ba061c 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/4d0fd4d9/maven-core/pom.xml -- diff --git a/maven-core/pom.xml b/maven-core/pom.xml index e8274d0..9bd712e 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/4d0fd4d9/maven-embedder/pom.xml -- diff --git a/maven-embedder/pom.xml b/maven-embedder/pom.xml index f9d7d1a..53d91c0 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/4d0fd4d9/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
[4/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/2f19236a Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/2f19236a Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/2f19236a Branch: refs/heads/DEPMGMT-INCLUDE-IT Commit: 2f19236a43d952e4ef052087e0b30e7ded7b052b Parents: 514a69d Author: Christian SchulteAuthored: Tue Jan 31 03:17:58 2017 +0100 Committer: Christian Schulte Committed: Wed Feb 1 00:38:37 2017 +0100 -- apache-maven/pom.xml | 2 +- maven-aether-provider/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-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/2f19236a/apache-maven/pom.xml -- diff --git a/apache-maven/pom.xml b/apache-maven/pom.xml index e7d5608..a43ea4f 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/2f19236a/maven-aether-provider/pom.xml -- diff --git a/maven-aether-provider/pom.xml b/maven-aether-provider/pom.xml index 0f3cb61..9f8206f 100644 --- a/maven-aether-provider/pom.xml +++ b/maven-aether-provider/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT maven-aether-provider http://git-wip-us.apache.org/repos/asf/maven/blob/2f19236a/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/2f19236a/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/2f19236a/maven-compat/pom.xml -- diff --git a/maven-compat/pom.xml b/maven-compat/pom.xml index 3a0a45c..626628d 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/2f19236a/maven-core/pom.xml -- diff --git a/maven-core/pom.xml b/maven-core/pom.xml index d147dd8..e8274d0 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/2f19236a/maven-embedder/pom.xml -- diff --git a/maven-embedder/pom.xml b/maven-embedder/pom.xml index 75b92c9..f9d7d1a 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/2f19236a/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
[8/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/f9a426cd Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/f9a426cd Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/f9a426cd Branch: refs/heads/DEPMGMT-INCLUDE-IT Commit: f9a426cd31e03d0aa86d151403913a682081e038 Parents: 7081431 Author: Christian SchulteAuthored: Tue Dec 13 20:16:20 2016 +0100 Committer: Christian Schulte Committed: Wed Feb 1 00:39:54 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/f9a426cd/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/f9a426cd/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 f11e77d..526e54d 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 =
[2/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/b8edd344 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/b8edd344 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/b8edd344 Branch: refs/heads/DEPMGMT-INCLUDE-IT Commit: b8edd344094df2b7b6ef9990d33ea05f1efc8679 Parents: cc476ca Author: Christian SchulteAuthored: Tue Jun 21 21:35:40 2016 +0200 Committer: Christian Schulte Committed: Wed Feb 1 00:37:43 2017 +0100 -- .../model/building/DefaultModelBuilder.java | 190 --- 1 file changed, 125 insertions(+), 65 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/b8edd344/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 3532660..5ca1623 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 @@ -1114,8 +1114,6 @@ public class DefaultModelBuilder final WorkspaceModelResolver workspaceResolver = request.getWorkspaceModelResolver(); final ModelResolver modelResolver = request.getModelResolver(); -ModelBuildingRequest importRequest = null; - List importMngts = null; for ( Iterator it = depMngt.getDependencies().iterator(); it.hasNext(); ) @@ -1202,75 +1200,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() ); -
[9/9] 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/fb65d6fa Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/fb65d6fa Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/fb65d6fa Branch: refs/heads/DEPMGMT-INCLUDE-IT Commit: fb65d6fab6ea6d8c573549bec3736f78def4906f Parents: 4d0fd4d Author: Christian SchulteAuthored: Tue Jan 31 18:22:18 2017 +0100 Committer: Christian Schulte Committed: Wed Feb 1 00:41:33 2017 +0100 -- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/fb65d6fa/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') {
[1/9] maven git commit: [MNG-4463] Dependency management import should support version ranges. [Forced Update!]
Repository: maven Updated Branches: refs/heads/DEPMGMT-INCLUDE-IT 3ffd0e95c -> fb65d6fab (forced update) [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/cc476caa Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/cc476caa Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/cc476caa Branch: refs/heads/DEPMGMT-INCLUDE-IT Commit: cc476caa807fae7d666c2b250fa347294b69f992 Parents: 386e0b0 Author: Christian SchulteAuthored: Sat Jan 30 19:17:34 2016 +0100 Committer: Christian Schulte Committed: Wed Feb 1 00:37:05 2017 +0100 -- .../internal/DefaultModelResolver.java | 84 .../maven/project/ProjectModelResolver.java | 82 +++ .../model/building/DefaultModelBuilder.java | 20 - .../maven/model/resolution/ModelResolver.java | 32 4 files changed, 184 insertions(+), 34 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/cc476caa/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java -- diff --git a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java b/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java index f344959..0832a3a 100644 --- a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java +++ b/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.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; import org.apache.maven.model.Parent; @@ -182,25 +183,27 @@ class DefaultModelResolver 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 = +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 = versionRangeResolver.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() ); } @@ -208,22 +211,69 @@ class DefaultModelResolver && versionRangeResult.getVersionConstraint().getRange() != null && versionRangeResult.getVersionConstraint().getRange().getUpperBound() == null ) { -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
[3/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/514a69df Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/514a69df Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/514a69df Branch: refs/heads/DEPMGMT-INCLUDE-IT Commit: 514a69df1574825b3e65d107cc9d22f23130886c Parents: b8edd34 Author: Christian SchulteAuthored: Sun Jun 19 16:32:25 2016 +0200 Committer: Christian Schulte Committed: Wed Feb 1 00:38:16 2017 +0100 -- .../model/building/DefaultModelBuilder.java | 59 +++- 1 file changed, 45 insertions(+), 14 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/514a69df/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 5ca1623..69e95ab 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; @@ -1218,7 +1216,40 @@ public class DefaultModelBuilder importMngt = new DependencyManagement(); } -putCache( request.getModelCache(), groupId, artifactId, version, ModelCacheTag.IMPORT, importMngt ); +// [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 = importMngt.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 : importMngt.getDependencies() ) +{ +includedDependency.getExclusions().addAll( dependency.getExclusions() ); +} +
[7/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/70814312 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/70814312 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/70814312 Branch: refs/heads/DEPMGMT-INCLUDE-IT Commit: 70814312e3a64e13504160b75bd41d9ce6a396b0 Parents: 2f19236 Author: Christian SchulteAuthored: Tue Dec 13 03:30:32 2016 +0100 Committer: Christian Schulte Committed: Wed Feb 1 00:39:54 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/70814312/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java -- diff --git a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java b/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java index 0832a3a..a69b631 100644 --- a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java +++ b/maven-aether-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; }
[1/8] maven git commit: [MNG-4463] Dependency management import should support version ranges. [Forced Update!]
Repository: maven Updated Branches: refs/heads/DEPMGMT-INCLUDE 379ecadd5 -> 4d0fd4d92 (forced update) [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/cc476caa Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/cc476caa Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/cc476caa Branch: refs/heads/DEPMGMT-INCLUDE Commit: cc476caa807fae7d666c2b250fa347294b69f992 Parents: 386e0b0 Author: Christian SchulteAuthored: Sat Jan 30 19:17:34 2016 +0100 Committer: Christian Schulte Committed: Wed Feb 1 00:37:05 2017 +0100 -- .../internal/DefaultModelResolver.java | 84 .../maven/project/ProjectModelResolver.java | 82 +++ .../model/building/DefaultModelBuilder.java | 20 - .../maven/model/resolution/ModelResolver.java | 32 4 files changed, 184 insertions(+), 34 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/cc476caa/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java -- diff --git a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java b/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java index f344959..0832a3a 100644 --- a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java +++ b/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.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; import org.apache.maven.model.Parent; @@ -182,25 +183,27 @@ class DefaultModelResolver 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 = +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 = versionRangeResolver.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() ); } @@ -208,22 +211,69 @@ class DefaultModelResolver && versionRangeResult.getVersionConstraint().getRange() != null && versionRangeResult.getVersionConstraint().getRange().getUpperBound() == null ) { -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
[7/8] 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/b6367816 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/b6367816 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/b6367816 Branch: refs/heads/DEPMGMT-INCLUDE Commit: b6367816824c4c569a768dde33d4539f91ea7de6 Parents: f9a426c Author: Christian SchulteAuthored: Thu Feb 18 14:07:02 2016 +0100 Committer: Christian Schulte Committed: Wed Feb 1 00:39:54 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 | 12 +- 5 files changed, 527 insertions(+), 120 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/b6367816/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 69e95ab..e26fcbc 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() - :
[3/8] 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/514a69df Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/514a69df Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/514a69df Branch: refs/heads/DEPMGMT-INCLUDE Commit: 514a69df1574825b3e65d107cc9d22f23130886c Parents: b8edd34 Author: Christian SchulteAuthored: Sun Jun 19 16:32:25 2016 +0200 Committer: Christian Schulte Committed: Wed Feb 1 00:38:16 2017 +0100 -- .../model/building/DefaultModelBuilder.java | 59 +++- 1 file changed, 45 insertions(+), 14 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/514a69df/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 5ca1623..69e95ab 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; @@ -1218,7 +1216,40 @@ public class DefaultModelBuilder importMngt = new DependencyManagement(); } -putCache( request.getModelCache(), groupId, artifactId, version, ModelCacheTag.IMPORT, importMngt ); +// [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 = importMngt.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 : importMngt.getDependencies() ) +{ +includedDependency.getExclusions().addAll( dependency.getExclusions() ); +} +} +
[6/8] 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/70814312 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/70814312 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/70814312 Branch: refs/heads/DEPMGMT-INCLUDE Commit: 70814312e3a64e13504160b75bd41d9ce6a396b0 Parents: 2f19236 Author: Christian SchulteAuthored: Tue Dec 13 03:30:32 2016 +0100 Committer: Christian Schulte Committed: Wed Feb 1 00:39:54 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/70814312/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java -- diff --git a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java b/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java index 0832a3a..a69b631 100644 --- a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java +++ b/maven-aether-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/8] 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/2f19236a Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/2f19236a Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/2f19236a Branch: refs/heads/DEPMGMT-INCLUDE Commit: 2f19236a43d952e4ef052087e0b30e7ded7b052b Parents: 514a69d Author: Christian SchulteAuthored: Tue Jan 31 03:17:58 2017 +0100 Committer: Christian Schulte Committed: Wed Feb 1 00:38:37 2017 +0100 -- apache-maven/pom.xml | 2 +- maven-aether-provider/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-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/2f19236a/apache-maven/pom.xml -- diff --git a/apache-maven/pom.xml b/apache-maven/pom.xml index e7d5608..a43ea4f 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/2f19236a/maven-aether-provider/pom.xml -- diff --git a/maven-aether-provider/pom.xml b/maven-aether-provider/pom.xml index 0f3cb61..9f8206f 100644 --- a/maven-aether-provider/pom.xml +++ b/maven-aether-provider/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT maven-aether-provider http://git-wip-us.apache.org/repos/asf/maven/blob/2f19236a/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/2f19236a/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/2f19236a/maven-compat/pom.xml -- diff --git a/maven-compat/pom.xml b/maven-compat/pom.xml index 3a0a45c..626628d 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/2f19236a/maven-core/pom.xml -- diff --git a/maven-core/pom.xml b/maven-core/pom.xml index d147dd8..e8274d0 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/2f19236a/maven-embedder/pom.xml -- diff --git a/maven-embedder/pom.xml b/maven-embedder/pom.xml index 75b92c9..f9d7d1a 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/2f19236a/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
[8/8] 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/4d0fd4d9 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/4d0fd4d9 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/4d0fd4d9 Branch: refs/heads/DEPMGMT-INCLUDE Commit: 4d0fd4d92d8e4c2dadd5c4088805b74de84fa09f Parents: b636781 Author: Christian SchulteAuthored: Tue Jan 31 03:15:47 2017 +0100 Committer: Christian Schulte Committed: Wed Feb 1 00:39:54 2017 +0100 -- apache-maven/pom.xml | 2 +- maven-aether-provider/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-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/4d0fd4d9/apache-maven/pom.xml -- diff --git a/apache-maven/pom.xml b/apache-maven/pom.xml index a43ea4f..1d7f4aa 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/4d0fd4d9/maven-aether-provider/pom.xml -- diff --git a/maven-aether-provider/pom.xml b/maven-aether-provider/pom.xml index 9f8206f..8c293b8 100644 --- a/maven-aether-provider/pom.xml +++ b/maven-aether-provider/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.1-SNAPSHOT +3.6.0-SNAPSHOT maven-aether-provider http://git-wip-us.apache.org/repos/asf/maven/blob/4d0fd4d9/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/4d0fd4d9/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/4d0fd4d9/maven-compat/pom.xml -- diff --git a/maven-compat/pom.xml b/maven-compat/pom.xml index 626628d..8ba061c 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/4d0fd4d9/maven-core/pom.xml -- diff --git a/maven-core/pom.xml b/maven-core/pom.xml index e8274d0..9bd712e 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/4d0fd4d9/maven-embedder/pom.xml -- diff --git a/maven-embedder/pom.xml b/maven-embedder/pom.xml index f9d7d1a..53d91c0 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/4d0fd4d9/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
[2/8] 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/b8edd344 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/b8edd344 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/b8edd344 Branch: refs/heads/DEPMGMT-INCLUDE Commit: b8edd344094df2b7b6ef9990d33ea05f1efc8679 Parents: cc476ca Author: Christian SchulteAuthored: Tue Jun 21 21:35:40 2016 +0200 Committer: Christian Schulte Committed: Wed Feb 1 00:37:43 2017 +0100 -- .../model/building/DefaultModelBuilder.java | 190 --- 1 file changed, 125 insertions(+), 65 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/b8edd344/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 3532660..5ca1623 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 @@ -1114,8 +1114,6 @@ public class DefaultModelBuilder final WorkspaceModelResolver workspaceResolver = request.getWorkspaceModelResolver(); final ModelResolver modelResolver = request.getModelResolver(); -ModelBuildingRequest importRequest = null; - List importMngts = null; for ( Iterator it = depMngt.getDependencies().iterator(); it.hasNext(); ) @@ -1202,75 +1200,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() ); -
[5/8] 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/f9a426cd Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/f9a426cd Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/f9a426cd Branch: refs/heads/DEPMGMT-INCLUDE Commit: f9a426cd31e03d0aa86d151403913a682081e038 Parents: 7081431 Author: Christian SchulteAuthored: Tue Dec 13 20:16:20 2016 +0100 Committer: Christian Schulte Committed: Wed Feb 1 00:39:54 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/f9a426cd/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/f9a426cd/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 f11e77d..526e54d 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 =
[3/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/514a69df Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/514a69df Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/514a69df Branch: refs/heads/DEPMGMT-IMPORT-IT Commit: 514a69df1574825b3e65d107cc9d22f23130886c Parents: b8edd34 Author: Christian SchulteAuthored: Sun Jun 19 16:32:25 2016 +0200 Committer: Christian Schulte Committed: Wed Feb 1 00:38:16 2017 +0100 -- .../model/building/DefaultModelBuilder.java | 59 +++- 1 file changed, 45 insertions(+), 14 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/514a69df/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 5ca1623..69e95ab 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; @@ -1218,7 +1216,40 @@ public class DefaultModelBuilder importMngt = new DependencyManagement(); } -putCache( request.getModelCache(), groupId, artifactId, version, ModelCacheTag.IMPORT, importMngt ); +// [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 = importMngt.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 : importMngt.getDependencies() ) +{ +includedDependency.getExclusions().addAll( dependency.getExclusions() ); +} +}
[2/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/b8edd344 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/b8edd344 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/b8edd344 Branch: refs/heads/DEPMGMT-IMPORT-IT Commit: b8edd344094df2b7b6ef9990d33ea05f1efc8679 Parents: cc476ca Author: Christian SchulteAuthored: Tue Jun 21 21:35:40 2016 +0200 Committer: Christian Schulte Committed: Wed Feb 1 00:37:43 2017 +0100 -- .../model/building/DefaultModelBuilder.java | 190 --- 1 file changed, 125 insertions(+), 65 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/b8edd344/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 3532660..5ca1623 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 @@ -1114,8 +1114,6 @@ public class DefaultModelBuilder final WorkspaceModelResolver workspaceResolver = request.getWorkspaceModelResolver(); final ModelResolver modelResolver = request.getModelResolver(); -ModelBuildingRequest importRequest = null; - List importMngts = null; for ( Iterator it = depMngt.getDependencies().iterator(); it.hasNext(); ) @@ -1202,75 +1200,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() ); -
[4/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/2f19236a Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/2f19236a Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/2f19236a Branch: refs/heads/DEPMGMT-IMPORT-IT Commit: 2f19236a43d952e4ef052087e0b30e7ded7b052b Parents: 514a69d Author: Christian SchulteAuthored: Tue Jan 31 03:17:58 2017 +0100 Committer: Christian Schulte Committed: Wed Feb 1 00:38:37 2017 +0100 -- apache-maven/pom.xml | 2 +- maven-aether-provider/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-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/2f19236a/apache-maven/pom.xml -- diff --git a/apache-maven/pom.xml b/apache-maven/pom.xml index e7d5608..a43ea4f 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/2f19236a/maven-aether-provider/pom.xml -- diff --git a/maven-aether-provider/pom.xml b/maven-aether-provider/pom.xml index 0f3cb61..9f8206f 100644 --- a/maven-aether-provider/pom.xml +++ b/maven-aether-provider/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT maven-aether-provider http://git-wip-us.apache.org/repos/asf/maven/blob/2f19236a/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/2f19236a/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/2f19236a/maven-compat/pom.xml -- diff --git a/maven-compat/pom.xml b/maven-compat/pom.xml index 3a0a45c..626628d 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/2f19236a/maven-core/pom.xml -- diff --git a/maven-core/pom.xml b/maven-core/pom.xml index d147dd8..e8274d0 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/2f19236a/maven-embedder/pom.xml -- diff --git a/maven-embedder/pom.xml b/maven-embedder/pom.xml index 75b92c9..f9d7d1a 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/2f19236a/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
[1/5] maven git commit: [MNG-4463] Dependency management import should support version ranges. [Forced Update!]
Repository: maven Updated Branches: refs/heads/DEPMGMT-IMPORT-IT 3097fa647 -> bbcdf2741 (forced update) [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/cc476caa Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/cc476caa Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/cc476caa Branch: refs/heads/DEPMGMT-IMPORT-IT Commit: cc476caa807fae7d666c2b250fa347294b69f992 Parents: 386e0b0 Author: Christian SchulteAuthored: Sat Jan 30 19:17:34 2016 +0100 Committer: Christian Schulte Committed: Wed Feb 1 00:37:05 2017 +0100 -- .../internal/DefaultModelResolver.java | 84 .../maven/project/ProjectModelResolver.java | 82 +++ .../model/building/DefaultModelBuilder.java | 20 - .../maven/model/resolution/ModelResolver.java | 32 4 files changed, 184 insertions(+), 34 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/cc476caa/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java -- diff --git a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java b/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java index f344959..0832a3a 100644 --- a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java +++ b/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.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; import org.apache.maven.model.Parent; @@ -182,25 +183,27 @@ class DefaultModelResolver 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 = +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 = versionRangeResolver.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() ); } @@ -208,22 +211,69 @@ class DefaultModelResolver && versionRangeResult.getVersionConstraint().getRange() != null && versionRangeResult.getVersionConstraint().getRange().getUpperBound() == null ) { -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
[5/5] 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/bbcdf274 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/bbcdf274 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/bbcdf274 Branch: refs/heads/DEPMGMT-IMPORT-IT Commit: bbcdf274156d540dc6fa652365be61d1084004ef Parents: 2f19236 Author: Christian SchulteAuthored: Tue Jan 31 01:43:32 2017 +0100 Committer: Christian Schulte Committed: Wed Feb 1 00:39:11 2017 +0100 -- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/bbcdf274/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') {
[4/4] 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/2f19236a Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/2f19236a Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/2f19236a Branch: refs/heads/DEPMGMT-IMPORT Commit: 2f19236a43d952e4ef052087e0b30e7ded7b052b Parents: 514a69d Author: Christian SchulteAuthored: Tue Jan 31 03:17:58 2017 +0100 Committer: Christian Schulte Committed: Wed Feb 1 00:38:37 2017 +0100 -- apache-maven/pom.xml | 2 +- maven-aether-provider/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-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/2f19236a/apache-maven/pom.xml -- diff --git a/apache-maven/pom.xml b/apache-maven/pom.xml index e7d5608..a43ea4f 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/2f19236a/maven-aether-provider/pom.xml -- diff --git a/maven-aether-provider/pom.xml b/maven-aether-provider/pom.xml index 0f3cb61..9f8206f 100644 --- a/maven-aether-provider/pom.xml +++ b/maven-aether-provider/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT maven-aether-provider http://git-wip-us.apache.org/repos/asf/maven/blob/2f19236a/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/2f19236a/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/2f19236a/maven-compat/pom.xml -- diff --git a/maven-compat/pom.xml b/maven-compat/pom.xml index 3a0a45c..626628d 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/2f19236a/maven-core/pom.xml -- diff --git a/maven-core/pom.xml b/maven-core/pom.xml index d147dd8..e8274d0 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/2f19236a/maven-embedder/pom.xml -- diff --git a/maven-embedder/pom.xml b/maven-embedder/pom.xml index 75b92c9..f9d7d1a 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/2f19236a/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
[2/4] 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/b8edd344 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/b8edd344 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/b8edd344 Branch: refs/heads/DEPMGMT-IMPORT Commit: b8edd344094df2b7b6ef9990d33ea05f1efc8679 Parents: cc476ca Author: Christian SchulteAuthored: Tue Jun 21 21:35:40 2016 +0200 Committer: Christian Schulte Committed: Wed Feb 1 00:37:43 2017 +0100 -- .../model/building/DefaultModelBuilder.java | 190 --- 1 file changed, 125 insertions(+), 65 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/b8edd344/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 3532660..5ca1623 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 @@ -1114,8 +1114,6 @@ public class DefaultModelBuilder final WorkspaceModelResolver workspaceResolver = request.getWorkspaceModelResolver(); final ModelResolver modelResolver = request.getModelResolver(); -ModelBuildingRequest importRequest = null; - List importMngts = null; for ( Iterator it = depMngt.getDependencies().iterator(); it.hasNext(); ) @@ -1202,75 +1200,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() ); -
[3/4] 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/514a69df Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/514a69df Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/514a69df Branch: refs/heads/DEPMGMT-IMPORT Commit: 514a69df1574825b3e65d107cc9d22f23130886c Parents: b8edd34 Author: Christian SchulteAuthored: Sun Jun 19 16:32:25 2016 +0200 Committer: Christian Schulte Committed: Wed Feb 1 00:38:16 2017 +0100 -- .../model/building/DefaultModelBuilder.java | 59 +++- 1 file changed, 45 insertions(+), 14 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/514a69df/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 5ca1623..69e95ab 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; @@ -1218,7 +1216,40 @@ public class DefaultModelBuilder importMngt = new DependencyManagement(); } -putCache( request.getModelCache(), groupId, artifactId, version, ModelCacheTag.IMPORT, importMngt ); +// [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 = importMngt.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 : importMngt.getDependencies() ) +{ +includedDependency.getExclusions().addAll( dependency.getExclusions() ); +} +} +
[1/4] maven git commit: [MNG-4463] Dependency management import should support version ranges. [Forced Update!]
Repository: maven Updated Branches: refs/heads/DEPMGMT-IMPORT 0d7877c51 -> 2f19236a4 (forced update) [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/cc476caa Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/cc476caa Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/cc476caa Branch: refs/heads/DEPMGMT-IMPORT Commit: cc476caa807fae7d666c2b250fa347294b69f992 Parents: 386e0b0 Author: Christian SchulteAuthored: Sat Jan 30 19:17:34 2016 +0100 Committer: Christian Schulte Committed: Wed Feb 1 00:37:05 2017 +0100 -- .../internal/DefaultModelResolver.java | 84 .../maven/project/ProjectModelResolver.java | 82 +++ .../model/building/DefaultModelBuilder.java | 20 - .../maven/model/resolution/ModelResolver.java | 32 4 files changed, 184 insertions(+), 34 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/cc476caa/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java -- diff --git a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java b/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java index f344959..0832a3a 100644 --- a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java +++ b/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.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; import org.apache.maven.model.Parent; @@ -182,25 +183,27 @@ class DefaultModelResolver 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 = +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 = versionRangeResolver.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() ); } @@ -208,22 +211,69 @@ class DefaultModelResolver && versionRangeResult.getVersionConstraint().getRange() != null && versionRangeResult.getVersionConstraint().getRange().getUpperBound() == null ) { -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
maven git commit: [MNG-6164] Collections inconsistently immutable.
Repository: maven Updated Branches: refs/heads/MNG-6164 [created] fcae0c44a [MNG-6164] Collections inconsistently immutable. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/fcae0c44 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/fcae0c44 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/fcae0c44 Branch: refs/heads/MNG-6164 Commit: fcae0c44a833e46796c9b6bb973d738edd037e30 Parents: a3cdfbb Author: Christian SchulteAuthored: Mon Dec 14 04:57:47 2015 +0100 Committer: Christian Schulte Committed: Wed Feb 1 00:32:15 2017 +0100 -- .../apache/maven/artifact/DefaultArtifact.java | 2 +- .../maven/artifact/versioning/VersionRange.java | 2 +- .../repository/DefaultArtifactRepository.java | 2 +- .../repository/MetadataResolutionResult.java| 27 ++-- .../repository/MavenArtifactRepository.java | 2 +- .../resolver/ArtifactResolutionResult.java | 27 ++-- .../maven/artifact/resolver/ResolutionNode.java | 1 + .../maven/exception/ExceptionSummary.java | 5 +++- .../execution/DefaultMavenExecutionResult.java | 6 +++-- .../maven/lifecycle/internal/MojoExecutor.java | 18 +++-- .../internal/DefaultMavenPluginManager.java | 2 +- .../prefix/DefaultPluginPrefixRequest.java | 4 +-- .../version/DefaultPluginVersionRequest.java| 2 +- .../DefaultDependencyResolutionResult.java | 5 +++- .../maven/project/DefaultProjectBuilder.java| 3 ++- .../maven/project/DefaultProjectRealmCache.java | 4 ++- .../org/apache/maven/project/MavenProject.java | 19 +++--- .../maven/project/artifact/ProjectArtifact.java | 5 +++- .../java/org/apache/maven/cli/MavenCli.java | 4 ++- .../model/building/ModelBuildingException.java | 2 +- 20 files changed, 91 insertions(+), 51 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/fcae0c44/maven-artifact/src/main/java/org/apache/maven/artifact/DefaultArtifact.java -- diff --git a/maven-artifact/src/main/java/org/apache/maven/artifact/DefaultArtifact.java b/maven-artifact/src/main/java/org/apache/maven/artifact/DefaultArtifact.java index 147e88e..675f1d9 100644 --- a/maven-artifact/src/main/java/org/apache/maven/artifact/DefaultArtifact.java +++ b/maven-artifact/src/main/java/org/apache/maven/artifact/DefaultArtifact.java @@ -272,7 +272,7 @@ public class DefaultArtifact return Collections.emptyList(); } -return metadataMap.values(); +return Collections.unmodifiableCollection( metadataMap.values() ); } // -- http://git-wip-us.apache.org/repos/asf/maven/blob/fcae0c44/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/VersionRange.java -- diff --git a/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/VersionRange.java b/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/VersionRange.java index 0d094ef..7ee854f 100644 --- a/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/VersionRange.java +++ b/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/VersionRange.java @@ -261,7 +261,7 @@ public class VersionRange } else { -restrictions = intersection( r1, r2 ); +restrictions = Collections.unmodifiableList( intersection( r1, r2 ) ); } ArtifactVersion version = null; http://git-wip-us.apache.org/repos/asf/maven/blob/fcae0c44/maven-compat/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java -- diff --git a/maven-compat/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java b/maven-compat/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java index e0a5587..34d4222 100644 --- a/maven-compat/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java +++ b/maven-compat/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java @@ -256,7 +256,7 @@ public class DefaultArtifactRepository { if ( mirroredRepositories != null ) { -this.mirroredRepositories = mirroredRepositories; +this.mirroredRepositories = Collections.unmodifiableList( mirroredRepositories ); } else { http://git-wip-us.apache.org/repos/asf/maven/blob/fcae0c44/maven-compat/src/main/java/org/apache/maven/repository/MetadataResolutionResult.java
[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/d92b6ce7 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/d92b6ce7 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/d92b6ce7 Branch: refs/heads/DEPMGMT Commit: d92b6ce729df6b9032594db1b7de34d398b93c39 Parents: 04436df Author: Christian SchulteAuthored: Sun Jun 19 16:32:25 2016 +0200 Committer: Christian Schulte Committed: Tue Jan 31 23:06:48 2017 +0100 -- .../model/building/DefaultModelBuilder.java | 59 +++- 1 file changed, 45 insertions(+), 14 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/d92b6ce7/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 5ca1623..69e95ab 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; @@ -1218,7 +1216,40 @@ public class DefaultModelBuilder importMngt = new DependencyManagement(); } -putCache( request.getModelCache(), groupId, artifactId, version, ModelCacheTag.IMPORT, importMngt ); +// [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 = importMngt.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 : importMngt.getDependencies() ) +{ +includedDependency.getExclusions().addAll( dependency.getExclusions() ); +} +} +
[01/17] maven git commit: [MNG-5368] UnsupportedOperationException thrown when version range is not correct in dependencyManagement definitions [Forced Update!]
Repository: maven Updated Branches: refs/heads/DEPMGMT-IT 04a9168f4 -> 75a0aeab0 (forced update) [MNG-5368] UnsupportedOperationException thrown when version range is not correct in dependencyManagement definitions o Updated to log an error message for any caught 'InvalidVersionSpecificationException's. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/a3cdfbbb Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/a3cdfbbb Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/a3cdfbbb Branch: refs/heads/DEPMGMT-IT Commit: a3cdfbbbe9dcbd2737e3b4c1836c402f5d83ed46 Parents: 23b5fcf Author: Christian SchulteAuthored: Sat Dec 19 17:37:11 2015 +0100 Committer: Christian Schulte Committed: Tue Jan 31 22:44:59 2017 +0100 -- .../legacy/LegacyRepositorySystem.java | 24 1 file changed, 19 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/a3cdfbbb/maven-compat/src/main/java/org/apache/maven/repository/legacy/LegacyRepositorySystem.java -- diff --git a/maven-compat/src/main/java/org/apache/maven/repository/legacy/LegacyRepositorySystem.java b/maven-compat/src/main/java/org/apache/maven/repository/legacy/LegacyRepositorySystem.java index f8d4531..bd5988a 100644 --- a/maven-compat/src/main/java/org/apache/maven/repository/legacy/LegacyRepositorySystem.java +++ b/maven-compat/src/main/java/org/apache/maven/repository/legacy/LegacyRepositorySystem.java @@ -144,6 +144,9 @@ public class LegacyRepositorySystem } catch ( InvalidVersionSpecificationException e ) { +// MNG-5368: Log a message instead of returning 'null' silently. +this.logger.error( String.format( "Invalid version specification '%s' creating dependency artifact '%s'.", + d.getVersion(), d ), e ); return null; } @@ -180,6 +183,11 @@ public class LegacyRepositorySystem } catch ( InvalidVersionSpecificationException e ) { +// MNG-5368: Log a message instead of returning 'null' silently. +this.logger.error( String.format( +"Invalid version specification '%s' creating extension artifact '%s:%s:%s'.", +version, groupId, artifactId, version, e ) ); + return null; } @@ -193,18 +201,24 @@ public class LegacyRepositorySystem public Artifact createPluginArtifact( Plugin plugin ) { +String version = plugin.getVersion(); +if ( StringUtils.isEmpty( version ) ) +{ +version = "RELEASE"; +} + VersionRange versionRange; try { -String version = plugin.getVersion(); -if ( StringUtils.isEmpty( version ) ) -{ -version = "RELEASE"; -} versionRange = VersionRange.createFromVersionSpec( version ); } catch ( InvalidVersionSpecificationException e ) { +// MNG-5368: Log a message instead of returning 'null' silently. +this.logger.error( String.format( +"Invalid version specification '%s' creating plugin artifact '%s'.", +version, plugin, e ) ); + return null; }
[07/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/86994c6e Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/86994c6e Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/86994c6e Branch: refs/heads/DEPMGMT Commit: 86994c6e1792b8988812b9843610b8e4c592cf76 Parents: fe0db1c Author: Christian SchulteAuthored: Thu Feb 18 14:07:02 2016 +0100 Committer: Christian Schulte Committed: Tue Jan 31 23:08:06 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 | 12 +- 5 files changed, 527 insertions(+), 120 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/86994c6e/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 69e95ab..e26fcbc 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() - :
[06/17] 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/0d7877c5 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/0d7877c5 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/0d7877c5 Branch: refs/heads/DEPMGMT-IT Commit: 0d7877c513440fee3e95a05a7d7c845b0c6e1e9b Parents: d92b6ce Author: Christian SchulteAuthored: Tue Jan 31 03:17:58 2017 +0100 Committer: Christian Schulte Committed: Tue Jan 31 23:06:48 2017 +0100 -- apache-maven/pom.xml | 2 +- maven-aether-provider/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-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/0d7877c5/apache-maven/pom.xml -- diff --git a/apache-maven/pom.xml b/apache-maven/pom.xml index e7d5608..a43ea4f 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/0d7877c5/maven-aether-provider/pom.xml -- diff --git a/maven-aether-provider/pom.xml b/maven-aether-provider/pom.xml index 0f3cb61..9f8206f 100644 --- a/maven-aether-provider/pom.xml +++ b/maven-aether-provider/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT maven-aether-provider http://git-wip-us.apache.org/repos/asf/maven/blob/0d7877c5/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/0d7877c5/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/0d7877c5/maven-compat/pom.xml -- diff --git a/maven-compat/pom.xml b/maven-compat/pom.xml index 3a0a45c..626628d 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/0d7877c5/maven-core/pom.xml -- diff --git a/maven-core/pom.xml b/maven-core/pom.xml index d147dd8..e8274d0 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/0d7877c5/maven-embedder/pom.xml -- diff --git a/maven-embedder/pom.xml b/maven-embedder/pom.xml index 75b92c9..f9d7d1a 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/0d7877c5/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
[16/17] 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/b0a43d59 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/b0a43d59 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/b0a43d59 Branch: refs/heads/DEPMGMT-IT Commit: b0a43d598fd397728bcae491793070f41dc857c1 Parents: dc30037 Author: Christian SchulteAuthored: Wed Feb 3 19:17:02 2016 +0100 Committer: Christian Schulte Committed: Tue Jan 31 23:09:10 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/b0a43d59/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/b0a43d59/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: [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/dc300371 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/dc300371 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/dc300371 Branch: refs/heads/DEPMGMT Commit: dc300371e9358539324a0d25898d50f9ce9c262d Parents: f05b4e0 Author: Christian SchulteAuthored: Thu Feb 11 08:45:19 2016 +0100 Committer: Christian Schulte Committed: Tue Jan 31 23:09:10 2017 +0100 -- .../repository/internal/ArtifactDescriptorReaderDelegate.java | 6 +- .../src/main/java/org/apache/maven/RepositoryUtils.java | 7 ++- 2 files changed, 11 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/dc300371/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/ArtifactDescriptorReaderDelegate.java -- diff --git a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/ArtifactDescriptorReaderDelegate.java b/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/ArtifactDescriptorReaderDelegate.java index 2395b36..184c327 100644 --- a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/ArtifactDescriptorReaderDelegate.java +++ b/maven-aether-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; } http://git-wip-us.apache.org/repos/asf/maven/blob/dc300371/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; }
[04/17] maven git commit: [MNG-5527] Relocation does not work for imported poms
[MNG-5527] Relocation does not work for imported poms Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/04436dff Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/04436dff Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/04436dff Branch: refs/heads/DEPMGMT-IT Commit: 04436dffa5c0b1f2ae0ef2a664e375e1ae7414a9 Parents: 63f6fcf Author: Christian SchulteAuthored: Tue Jun 21 21:35:40 2016 +0200 Committer: Christian Schulte Committed: Tue Jan 31 23:06:48 2017 +0100 -- .../model/building/DefaultModelBuilder.java | 190 --- 1 file changed, 125 insertions(+), 65 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/04436dff/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 3532660..5ca1623 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 @@ -1114,8 +1114,6 @@ public class DefaultModelBuilder final WorkspaceModelResolver workspaceResolver = request.getWorkspaceModelResolver(); final ModelResolver modelResolver = request.getModelResolver(); -ModelBuildingRequest importRequest = null; - List importMngts = null; for ( Iterator it = depMngt.getDependencies().iterator(); it.hasNext(); ) @@ -1202,75 +1200,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(
[14/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/46d09dcb Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/46d09dcb Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/46d09dcb Branch: refs/heads/DEPMGMT Commit: 46d09dcb723d0d3ae8478c31a6ee1f6aeff27e9d Parents: b0a43d5 Author: Christian SchulteAuthored: Tue Dec 13 22:35:13 2016 +0100 Committer: Christian Schulte Committed: Tue Jan 31 23:09:10 2017 +0100 -- .../maven/repository/internal/MavenRepositorySystemUtils.java | 5 ++--- .../maven/artifact/AbstractArtifactComponentTestCase.java | 4 ++-- 2 files changed, 4 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/46d09dcb/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/MavenRepositorySystemUtils.java -- diff --git a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/MavenRepositorySystemUtils.java b/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/MavenRepositorySystemUtils.java index 1b11cb3..f6aeb11 100644 --- a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/MavenRepositorySystemUtils.java +++ b/maven-aether-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 = http://git-wip-us.apache.org/repos/asf/maven/blob/46d09dcb/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" ),
[15/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/f05b4e00 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/f05b4e00 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/f05b4e00 Branch: refs/heads/DEPMGMT Commit: f05b4e00f170dc4f0159abb98ffdab5869786069 Parents: 0b90b27 Author: Christian SchulteAuthored: Wed Jan 27 03:46:11 2016 +0100 Committer: Christian Schulte Committed: Tue Jan 31 23:09:10 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/f05b4e00/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 50c9e35..7f2f902 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/f05b4e00/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: [MNG-4463] Version ranges cannot be used for artifacts with 'import' scope
[MNG-4463] Version ranges cannot be used for artifacts with 'import' scope 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/63f6fcf9 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/63f6fcf9 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/63f6fcf9 Branch: refs/heads/DEPMGMT Commit: 63f6fcf929cc6a30f7948906913c3810f7906597 Parents: 386e0b0 Author: Christian SchulteAuthored: Sat Jan 30 19:17:34 2016 +0100 Committer: Christian Schulte Committed: Tue Jan 31 23:06:48 2017 +0100 -- .../internal/DefaultModelResolver.java | 84 .../maven/project/ProjectModelResolver.java | 82 +++ .../model/building/DefaultModelBuilder.java | 20 - .../maven/model/resolution/ModelResolver.java | 32 4 files changed, 184 insertions(+), 34 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/63f6fcf9/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java -- diff --git a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java b/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java index f344959..0832a3a 100644 --- a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java +++ b/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.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; import org.apache.maven.model.Parent; @@ -182,25 +183,27 @@ class DefaultModelResolver 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 = +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 = versionRangeResolver.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() ); } @@ -208,22 +211,69 @@ class DefaultModelResolver && versionRangeResult.getVersionConstraint().getRange() != null && versionRangeResult.getVersionConstraint().getRange().getUpperBound() == null ) { -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() ), +
[15/17] 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/dc300371 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/dc300371 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/dc300371 Branch: refs/heads/DEPMGMT-IT Commit: dc300371e9358539324a0d25898d50f9ce9c262d Parents: f05b4e0 Author: Christian SchulteAuthored: Thu Feb 11 08:45:19 2016 +0100 Committer: Christian Schulte Committed: Tue Jan 31 23:09:10 2017 +0100 -- .../repository/internal/ArtifactDescriptorReaderDelegate.java | 6 +- .../src/main/java/org/apache/maven/RepositoryUtils.java | 7 ++- 2 files changed, 11 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/dc300371/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/ArtifactDescriptorReaderDelegate.java -- diff --git a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/ArtifactDescriptorReaderDelegate.java b/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/ArtifactDescriptorReaderDelegate.java index 2395b36..184c327 100644 --- a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/ArtifactDescriptorReaderDelegate.java +++ b/maven-aether-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; } http://git-wip-us.apache.org/repos/asf/maven/blob/dc300371/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; }
[09/17] 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/abbefc73 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/abbefc73 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/abbefc73 Branch: refs/heads/DEPMGMT-IT Commit: abbefc730173169b1d608e4129647c17aa408d14 Parents: 0d7877c Author: Christian SchulteAuthored: Tue Dec 13 03:30:32 2016 +0100 Committer: Christian Schulte Committed: Tue Jan 31 23:08:06 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/abbefc73/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java -- diff --git a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java b/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java index 0832a3a..a69b631 100644 --- a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java +++ b/maven-aether-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/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/fe0db1c2 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/fe0db1c2 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/fe0db1c2 Branch: refs/heads/DEPMGMT Commit: fe0db1c23e348cb1c0fc6b499e0155f264b3fab1 Parents: abbefc7 Author: Christian SchulteAuthored: Tue Dec 13 20:16:20 2016 +0100 Committer: Christian Schulte Committed: Tue Jan 31 23:08:06 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/fe0db1c2/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/fe0db1c2/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 f11e77d..526e54d 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
[08/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/abbefc73 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/abbefc73 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/abbefc73 Branch: refs/heads/DEPMGMT Commit: abbefc730173169b1d608e4129647c17aa408d14 Parents: 0d7877c Author: Christian SchulteAuthored: Tue Dec 13 03:30:32 2016 +0100 Committer: Christian Schulte Committed: Tue Jan 31 23:08:06 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/abbefc73/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java -- diff --git a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java b/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java index 0832a3a..a69b631 100644 --- a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java +++ b/maven-aether-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; }
[01/16] maven git commit: [MNG-5368] UnsupportedOperationException thrown when version range is not correct in dependencyManagement definitions [Forced Update!]
Repository: maven Updated Branches: refs/heads/DEPMGMT 36046dc9c -> d988ed72d (forced update) [MNG-5368] UnsupportedOperationException thrown when version range is not correct in dependencyManagement definitions o Updated to log an error message for any caught 'InvalidVersionSpecificationException's. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/a3cdfbbb Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/a3cdfbbb Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/a3cdfbbb Branch: refs/heads/DEPMGMT Commit: a3cdfbbbe9dcbd2737e3b4c1836c402f5d83ed46 Parents: 23b5fcf Author: Christian SchulteAuthored: Sat Dec 19 17:37:11 2015 +0100 Committer: Christian Schulte Committed: Tue Jan 31 22:44:59 2017 +0100 -- .../legacy/LegacyRepositorySystem.java | 24 1 file changed, 19 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/a3cdfbbb/maven-compat/src/main/java/org/apache/maven/repository/legacy/LegacyRepositorySystem.java -- diff --git a/maven-compat/src/main/java/org/apache/maven/repository/legacy/LegacyRepositorySystem.java b/maven-compat/src/main/java/org/apache/maven/repository/legacy/LegacyRepositorySystem.java index f8d4531..bd5988a 100644 --- a/maven-compat/src/main/java/org/apache/maven/repository/legacy/LegacyRepositorySystem.java +++ b/maven-compat/src/main/java/org/apache/maven/repository/legacy/LegacyRepositorySystem.java @@ -144,6 +144,9 @@ public class LegacyRepositorySystem } catch ( InvalidVersionSpecificationException e ) { +// MNG-5368: Log a message instead of returning 'null' silently. +this.logger.error( String.format( "Invalid version specification '%s' creating dependency artifact '%s'.", + d.getVersion(), d ), e ); return null; } @@ -180,6 +183,11 @@ public class LegacyRepositorySystem } catch ( InvalidVersionSpecificationException e ) { +// MNG-5368: Log a message instead of returning 'null' silently. +this.logger.error( String.format( +"Invalid version specification '%s' creating extension artifact '%s:%s:%s'.", +version, groupId, artifactId, version, e ) ); + return null; } @@ -193,18 +201,24 @@ public class LegacyRepositorySystem public Artifact createPluginArtifact( Plugin plugin ) { +String version = plugin.getVersion(); +if ( StringUtils.isEmpty( version ) ) +{ +version = "RELEASE"; +} + VersionRange versionRange; try { -String version = plugin.getVersion(); -if ( StringUtils.isEmpty( version ) ) -{ -version = "RELEASE"; -} versionRange = VersionRange.createFromVersionSpec( version ); } catch ( InvalidVersionSpecificationException e ) { +// MNG-5368: Log a message instead of returning 'null' silently. +this.logger.error( String.format( +"Invalid version specification '%s' creating plugin artifact '%s'.", +version, plugin, e ) ); + return null; }
[10/17] 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/86994c6e Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/86994c6e Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/86994c6e Branch: refs/heads/DEPMGMT-IT Commit: 86994c6e1792b8988812b9843610b8e4c592cf76 Parents: fe0db1c Author: Christian SchulteAuthored: Thu Feb 18 14:07:02 2016 +0100 Committer: Christian Schulte Committed: Tue Jan 31 23:08:06 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 | 12 +- 5 files changed, 527 insertions(+), 120 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/86994c6e/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 69e95ab..e26fcbc 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() - :
[14/17] 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/d988ed72 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/d988ed72 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/d988ed72 Branch: refs/heads/DEPMGMT-IT Commit: d988ed72d3ec320512b1b4fdc1f70d655a51b63f Parents: 46d09dc Author: Christian SchulteAuthored: Sat Dec 17 03:07:04 2016 +0100 Committer: Christian Schulte Committed: Tue Jan 31 23:09:10 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/d988ed72/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/d988ed72/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;
[13/17] 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/46d09dcb Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/46d09dcb Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/46d09dcb Branch: refs/heads/DEPMGMT-IT Commit: 46d09dcb723d0d3ae8478c31a6ee1f6aeff27e9d Parents: b0a43d5 Author: Christian SchulteAuthored: Tue Dec 13 22:35:13 2016 +0100 Committer: Christian Schulte Committed: Tue Jan 31 23:09:10 2017 +0100 -- .../maven/repository/internal/MavenRepositorySystemUtils.java | 5 ++--- .../maven/artifact/AbstractArtifactComponentTestCase.java | 4 ++-- 2 files changed, 4 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/46d09dcb/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/MavenRepositorySystemUtils.java -- diff --git a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/MavenRepositorySystemUtils.java b/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/MavenRepositorySystemUtils.java index 1b11cb3..f6aeb11 100644 --- a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/MavenRepositorySystemUtils.java +++ b/maven-aether-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 = http://git-wip-us.apache.org/repos/asf/maven/blob/46d09dcb/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" ),
[12/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/0b90b271 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/0b90b271 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/0b90b271 Branch: refs/heads/DEPMGMT Commit: 0b90b2716513000616d25f354750d5b2beb7698c Parents: 379ecad Author: Christian SchulteAuthored: Tue Jan 31 20:22:42 2017 +0100 Committer: Christian Schulte Committed: Tue Jan 31 23:09:10 2017 +0100 -- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/0b90b271/pom.xml -- diff --git a/pom.xml b/pom.xml index deeea39..a15fd7c 100644 --- a/pom.xml +++ b/pom.xml @@ -65,7 +65,7 @@ under the License. 1.7 1.8.3 1.3 -1.0.2.v20150114 +1.2.0-SNAPSHOT 1.7.5 true
[07/17] 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/379ecadd Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/379ecadd Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/379ecadd Branch: refs/heads/DEPMGMT-IT Commit: 379ecadd5fe5b17615adba25b8f7d3df407c177b Parents: 86994c6 Author: Christian SchulteAuthored: Tue Jan 31 03:15:47 2017 +0100 Committer: Christian Schulte Committed: Tue Jan 31 23:08:06 2017 +0100 -- apache-maven/pom.xml | 2 +- maven-aether-provider/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-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/379ecadd/apache-maven/pom.xml -- diff --git a/apache-maven/pom.xml b/apache-maven/pom.xml index a43ea4f..1d7f4aa 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/379ecadd/maven-aether-provider/pom.xml -- diff --git a/maven-aether-provider/pom.xml b/maven-aether-provider/pom.xml index 9f8206f..8c293b8 100644 --- a/maven-aether-provider/pom.xml +++ b/maven-aether-provider/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.1-SNAPSHOT +3.6.0-SNAPSHOT maven-aether-provider http://git-wip-us.apache.org/repos/asf/maven/blob/379ecadd/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/379ecadd/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/379ecadd/maven-compat/pom.xml -- diff --git a/maven-compat/pom.xml b/maven-compat/pom.xml index 626628d..8ba061c 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/379ecadd/maven-core/pom.xml -- diff --git a/maven-core/pom.xml b/maven-core/pom.xml index e8274d0..9bd712e 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/379ecadd/maven-embedder/pom.xml -- diff --git a/maven-embedder/pom.xml b/maven-embedder/pom.xml index f9d7d1a..53d91c0 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/379ecadd/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
[11/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/b0a43d59 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/b0a43d59 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/b0a43d59 Branch: refs/heads/DEPMGMT Commit: b0a43d598fd397728bcae491793070f41dc857c1 Parents: dc30037 Author: Christian SchulteAuthored: Wed Feb 3 19:17:02 2016 +0100 Committer: Christian Schulte Committed: Tue Jan 31 23:09:10 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/b0a43d59/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/b0a43d59/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
[06/16] maven git commit: [MNG-5527] Relocation does not work for imported poms
[MNG-5527] Relocation does not work for imported poms Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/04436dff Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/04436dff Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/04436dff Branch: refs/heads/DEPMGMT Commit: 04436dffa5c0b1f2ae0ef2a664e375e1ae7414a9 Parents: 63f6fcf Author: Christian SchulteAuthored: Tue Jun 21 21:35:40 2016 +0200 Committer: Christian Schulte Committed: Tue Jan 31 23:06:48 2017 +0100 -- .../model/building/DefaultModelBuilder.java | 190 --- 1 file changed, 125 insertions(+), 65 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/04436dff/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 3532660..5ca1623 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 @@ -1114,8 +1114,6 @@ public class DefaultModelBuilder final WorkspaceModelResolver workspaceResolver = request.getWorkspaceModelResolver(); final ModelResolver modelResolver = request.getModelResolver(); -ModelBuildingRequest importRequest = null; - List importMngts = null; for ( Iterator it = depMngt.getDependencies().iterator(); it.hasNext(); ) @@ -1202,75 +1200,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(
[05/17] maven git commit: [MNG-4463] Version ranges cannot be used for artifacts with 'import' scope
[MNG-4463] Version ranges cannot be used for artifacts with 'import' scope 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/63f6fcf9 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/63f6fcf9 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/63f6fcf9 Branch: refs/heads/DEPMGMT-IT Commit: 63f6fcf929cc6a30f7948906913c3810f7906597 Parents: 386e0b0 Author: Christian SchulteAuthored: Sat Jan 30 19:17:34 2016 +0100 Committer: Christian Schulte Committed: Tue Jan 31 23:06:48 2017 +0100 -- .../internal/DefaultModelResolver.java | 84 .../maven/project/ProjectModelResolver.java | 82 +++ .../model/building/DefaultModelBuilder.java | 20 - .../maven/model/resolution/ModelResolver.java | 32 4 files changed, 184 insertions(+), 34 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/63f6fcf9/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java -- diff --git a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java b/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java index f344959..0832a3a 100644 --- a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java +++ b/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.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; import org.apache.maven.model.Parent; @@ -182,25 +183,27 @@ class DefaultModelResolver 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 = +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 = versionRangeResolver.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() ); } @@ -208,22 +211,69 @@ class DefaultModelResolver && versionRangeResult.getVersionConstraint().getRange() != null && versionRangeResult.getVersionConstraint().getRange().getUpperBound() == null ) { -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() ), +
[03/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/0d7877c5 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/0d7877c5 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/0d7877c5 Branch: refs/heads/DEPMGMT Commit: 0d7877c513440fee3e95a05a7d7c845b0c6e1e9b Parents: d92b6ce Author: Christian SchulteAuthored: Tue Jan 31 03:17:58 2017 +0100 Committer: Christian Schulte Committed: Tue Jan 31 23:06:48 2017 +0100 -- apache-maven/pom.xml | 2 +- maven-aether-provider/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-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/0d7877c5/apache-maven/pom.xml -- diff --git a/apache-maven/pom.xml b/apache-maven/pom.xml index e7d5608..a43ea4f 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/0d7877c5/maven-aether-provider/pom.xml -- diff --git a/maven-aether-provider/pom.xml b/maven-aether-provider/pom.xml index 0f3cb61..9f8206f 100644 --- a/maven-aether-provider/pom.xml +++ b/maven-aether-provider/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.0-SNAPSHOT +3.5.1-SNAPSHOT maven-aether-provider http://git-wip-us.apache.org/repos/asf/maven/blob/0d7877c5/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/0d7877c5/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/0d7877c5/maven-compat/pom.xml -- diff --git a/maven-compat/pom.xml b/maven-compat/pom.xml index 3a0a45c..626628d 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/0d7877c5/maven-core/pom.xml -- diff --git a/maven-core/pom.xml b/maven-core/pom.xml index d147dd8..e8274d0 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/0d7877c5/maven-embedder/pom.xml -- diff --git a/maven-embedder/pom.xml b/maven-embedder/pom.xml index 75b92c9..f9d7d1a 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/0d7877c5/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
[12/17] 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/f05b4e00 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/f05b4e00 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/f05b4e00 Branch: refs/heads/DEPMGMT-IT Commit: f05b4e00f170dc4f0159abb98ffdab5869786069 Parents: 0b90b27 Author: Christian SchulteAuthored: Wed Jan 27 03:46:11 2016 +0100 Committer: Christian Schulte Committed: Tue Jan 31 23:09:10 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/f05b4e00/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 50c9e35..7f2f902 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/f05b4e00/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 ) {
[11/17] 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/0b90b271 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/0b90b271 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/0b90b271 Branch: refs/heads/DEPMGMT-IT Commit: 0b90b2716513000616d25f354750d5b2beb7698c Parents: 379ecad Author: Christian SchulteAuthored: Tue Jan 31 20:22:42 2017 +0100 Committer: Christian Schulte Committed: Tue Jan 31 23:09:10 2017 +0100 -- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/0b90b271/pom.xml -- diff --git a/pom.xml b/pom.xml index deeea39..a15fd7c 100644 --- a/pom.xml +++ b/pom.xml @@ -65,7 +65,7 @@ under the License. 1.7 1.8.3 1.3 -1.0.2.v20150114 +1.2.0-SNAPSHOT 1.7.5 true
[03/17] 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/d92b6ce7 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/d92b6ce7 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/d92b6ce7 Branch: refs/heads/DEPMGMT-IT Commit: d92b6ce729df6b9032594db1b7de34d398b93c39 Parents: 04436df Author: Christian SchulteAuthored: Sun Jun 19 16:32:25 2016 +0200 Committer: Christian Schulte Committed: Tue Jan 31 23:06:48 2017 +0100 -- .../model/building/DefaultModelBuilder.java | 59 +++- 1 file changed, 45 insertions(+), 14 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/d92b6ce7/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 5ca1623..69e95ab 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; @@ -1218,7 +1216,40 @@ public class DefaultModelBuilder importMngt = new DependencyManagement(); } -putCache( request.getModelCache(), groupId, artifactId, version, ModelCacheTag.IMPORT, importMngt ); +// [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 = importMngt.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 : importMngt.getDependencies() ) +{ +includedDependency.getExclusions().addAll( dependency.getExclusions() ); +} +} +
[17/17] 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/75a0aeab Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/75a0aeab Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/75a0aeab Branch: refs/heads/DEPMGMT-IT Commit: 75a0aeab0d82ff4024fdfdb2061458dad69b85ff Parents: d988ed7 Author: Christian SchulteAuthored: Tue Jan 31 20:42:18 2017 +0100 Committer: Christian Schulte Committed: Tue Jan 31 23:09:39 2017 +0100 -- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/75a0aeab/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') {
[09/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/379ecadd Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/379ecadd Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/379ecadd Branch: refs/heads/DEPMGMT Commit: 379ecadd5fe5b17615adba25b8f7d3df407c177b Parents: 86994c6 Author: Christian SchulteAuthored: Tue Jan 31 03:15:47 2017 +0100 Committer: Christian Schulte Committed: Tue Jan 31 23:08:06 2017 +0100 -- apache-maven/pom.xml | 2 +- maven-aether-provider/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-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/379ecadd/apache-maven/pom.xml -- diff --git a/apache-maven/pom.xml b/apache-maven/pom.xml index a43ea4f..1d7f4aa 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/379ecadd/maven-aether-provider/pom.xml -- diff --git a/maven-aether-provider/pom.xml b/maven-aether-provider/pom.xml index 9f8206f..8c293b8 100644 --- a/maven-aether-provider/pom.xml +++ b/maven-aether-provider/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.maven maven -3.5.1-SNAPSHOT +3.6.0-SNAPSHOT maven-aether-provider http://git-wip-us.apache.org/repos/asf/maven/blob/379ecadd/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/379ecadd/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/379ecadd/maven-compat/pom.xml -- diff --git a/maven-compat/pom.xml b/maven-compat/pom.xml index 626628d..8ba061c 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/379ecadd/maven-core/pom.xml -- diff --git a/maven-core/pom.xml b/maven-core/pom.xml index e8274d0..9bd712e 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/379ecadd/maven-embedder/pom.xml -- diff --git a/maven-embedder/pom.xml b/maven-embedder/pom.xml index f9d7d1a..53d91c0 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/379ecadd/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
[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/d988ed72 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/d988ed72 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/d988ed72 Branch: refs/heads/DEPMGMT Commit: d988ed72d3ec320512b1b4fdc1f70d655a51b63f Parents: 46d09dc Author: Christian SchulteAuthored: Sat Dec 17 03:07:04 2016 +0100 Committer: Christian Schulte Committed: Tue Jan 31 23:09:10 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/d988ed72/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/d988ed72/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;
[02/17] maven git commit: [MNG-2199] Support version ranges in parent elements
[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/386e0b05 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/386e0b05 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/386e0b05 Branch: refs/heads/DEPMGMT-IT Commit: 386e0b056bd5020899d7b6a5736af9dcf45c6a1a Parents: a3cdfbb Author: Christian SchulteAuthored: Sat Dec 12 20:28:56 2015 +0100 Committer: Christian Schulte Committed: Tue Jan 31 23:05:45 2017 +0100 -- .../maven/project/DefaultProjectBuilder.java| 111 +--- .../project/DefaultProjectBuildingRequest.java | 15 ++- .../maven/project/ProjectBuildingRequest.java | 14 +- .../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 | 25 +++- 18 files changed, 473 insertions(+), 55 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/386e0b05/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..4241ac2 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; /** */ @@ -298,44 +294,6 @@ public class DefaultProjectBuilder boolean localProject; -if ( request.isResolveVersionRanges() ) -{ -
[08/17] 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/fe0db1c2 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/fe0db1c2 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/fe0db1c2 Branch: refs/heads/DEPMGMT-IT Commit: fe0db1c23e348cb1c0fc6b499e0155f264b3fab1 Parents: abbefc7 Author: Christian SchulteAuthored: Tue Dec 13 20:16:20 2016 +0100 Committer: Christian Schulte Committed: Tue Jan 31 23:08:06 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/fe0db1c2/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/fe0db1c2/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 f11e77d..526e54d 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
[02/16] maven git commit: [MNG-2199] Support version ranges in parent elements
[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/386e0b05 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/386e0b05 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/386e0b05 Branch: refs/heads/DEPMGMT Commit: 386e0b056bd5020899d7b6a5736af9dcf45c6a1a Parents: a3cdfbb Author: Christian SchulteAuthored: Sat Dec 12 20:28:56 2015 +0100 Committer: Christian Schulte Committed: Tue Jan 31 23:05:45 2017 +0100 -- .../maven/project/DefaultProjectBuilder.java| 111 +--- .../project/DefaultProjectBuildingRequest.java | 15 ++- .../maven/project/ProjectBuildingRequest.java | 14 +- .../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 | 25 +++- 18 files changed, 473 insertions(+), 55 deletions(-) -- http://git-wip-us.apache.org/repos/asf/maven/blob/386e0b05/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..4241ac2 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; /** */ @@ -298,44 +294,6 @@ public class DefaultProjectBuilder boolean localProject; -if ( request.isResolveVersionRanges() ) -{ -