You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by rf...@apache.org on 2013/08/26 20:13:11 UTC

[1/2] git commit: [MNG-5459] failure to resolve pom artifact from snapshotVersion in maven-metadata.xml

Updated Branches:
  refs/heads/master 7da3bbbff -> 5691c6e27


[MNG-5459] failure to resolve pom artifact from snapshotVersion in maven-metadata.xml


Project: http://git-wip-us.apache.org/repos/asf/maven/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/c225847e
Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/c225847e
Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/c225847e

Branch: refs/heads/master
Commit: c225847e4f3436ecc78544fa00192307d579f1d3
Parents: bf5366d
Author: rfscholte <rf...@apache.org>
Authored: Mon Aug 26 20:08:04 2013 +0200
Committer: rfscholte <rf...@apache.org>
Committed: Mon Aug 26 20:08:04 2013 +0200

----------------------------------------------------------------------
 maven-aether-provider/pom.xml                   |  6 ++
 .../DefaultArtifactDescriptorReader.java        | 10 ++-
 .../DefaultArtifactDescriptorReaderTest.java    | 77 ++++++++++++++++++++
 .../0.4.0-SNAPSHOT/maven-metadata.xml           | 47 ++++++++++++
 4 files changed, 138 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven/blob/c225847e/maven-aether-provider/pom.xml
----------------------------------------------------------------------
diff --git a/maven-aether-provider/pom.xml b/maven-aether-provider/pom.xml
index 9235f1c..6695a40 100644
--- a/maven-aether-provider/pom.xml
+++ b/maven-aether-provider/pom.xml
@@ -97,6 +97,12 @@ under the License.
       <groupId>org.eclipse.sisu</groupId>
       <artifactId>org.eclipse.sisu.plexus</artifactId>
       <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.mockito</groupId>
+      <artifactId>mockito-core</artifactId>
+      <version>1.9.5</version>
+      <scope>test</scope>
     </dependency>    
   </dependencies>
 

http://git-wip-us.apache.org/repos/asf/maven/blob/c225847e/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultArtifactDescriptorReader.java
----------------------------------------------------------------------
diff --git a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultArtifactDescriptorReader.java b/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultArtifactDescriptorReader.java
index 380a607..59a955d 100644
--- a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultArtifactDescriptorReader.java
+++ b/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultArtifactDescriptorReader.java
@@ -275,6 +275,7 @@ public class DefaultArtifactDescriptorReader
         Set<String> visited = new LinkedHashSet<String>();
         for ( Artifact artifact = request.getArtifact();; )
         {
+            Artifact pomArtifact = ArtifactDescriptorUtils.toPomArtifact( artifact );
             try
             {
                 VersionRequest versionRequest =
@@ -283,6 +284,13 @@ public class DefaultArtifactDescriptorReader
                 VersionResult versionResult = versionResolver.resolveVersion( session, versionRequest );
 
                 artifact = artifact.setVersion( versionResult.getVersion() );
+
+                versionRequest =
+                    new VersionRequest( pomArtifact, request.getRepositories(), request.getRequestContext() );
+                versionRequest.setTrace( trace );
+                versionResult = versionResolver.resolveVersion( session, versionRequest );
+
+                pomArtifact = pomArtifact.setVersion( versionResult.getVersion() );
             }
             catch ( VersionResolutionException e )
             {
@@ -303,8 +311,6 @@ public class DefaultArtifactDescriptorReader
                 throw new ArtifactDescriptorException( result );
             }
 
-            Artifact pomArtifact = ArtifactDescriptorUtils.toPomArtifact( artifact );
-
             ArtifactResult resolveResult;
             try
             {

http://git-wip-us.apache.org/repos/asf/maven/blob/c225847e/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
new file mode 100644
index 0000000..a7b1db2
--- /dev/null
+++ b/maven-aether-provider/src/test/java/org/apache/maven/repository/internal/DefaultArtifactDescriptorReaderTest.java
@@ -0,0 +1,77 @@
+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 static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+
+import org.eclipse.aether.RepositoryEvent;
+import org.eclipse.aether.RepositoryEvent.EventType;
+import org.eclipse.aether.artifact.DefaultArtifact;
+import org.eclipse.aether.impl.ArtifactDescriptorReader;
+import org.eclipse.aether.impl.RepositoryEventDispatcher;
+import org.eclipse.aether.resolution.ArtifactDescriptorRequest;
+import org.mockito.ArgumentCaptor;
+
+public class DefaultArtifactDescriptorReaderTest
+    extends AbstractRepositoryTestCase
+{
+
+    public void testMng5459()
+        throws Exception
+    {
+        // prepare
+        DefaultArtifactDescriptorReader reader = (DefaultArtifactDescriptorReader) lookup( ArtifactDescriptorReader.class );
+        
+        RepositoryEventDispatcher eventDispatcher = mock( RepositoryEventDispatcher.class );
+        
+        ArgumentCaptor<RepositoryEvent> event = ArgumentCaptor.forClass( RepositoryEvent.class );
+        
+        reader.setRepositoryEventDispatcher( eventDispatcher );
+
+        ArtifactDescriptorRequest request = new ArtifactDescriptorRequest();
+        
+        request.addRepository( newTestRepository() );
+        
+        request.setArtifact( new DefaultArtifact( "org.apache.maven.its", "dep-mng5459", "jar", "0.4.0-SNAPSHOT" ) );
+        
+        // execute
+        reader.readArtifactDescriptor( session, request );
+
+        // verify
+        verify( eventDispatcher ).dispatch( event.capture() );
+
+        boolean missingArtifactDescriptor = false;
+        
+        for( RepositoryEvent evt : event.getAllValues() )
+        {
+            if ( EventType.ARTIFACT_DESCRIPTOR_MISSING.equals( evt.getType() ) )
+            {
+                assertEquals( "Could not find artifact org.apache.maven.its:dep-mng5459:pom:0.4.0-20130404.090532-2 in repo (" + newTestRepository().getUrl() + ")", evt.getException().getMessage() );
+                missingArtifactDescriptor = true;
+            }
+        }
+        
+        if( !missingArtifactDescriptor )
+        {
+            fail( "Expected missing artifact descriptor for org.apache.maven.its:dep-mng5459:pom:0.4.0-20130404.090532-2" );
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/maven/blob/c225847e/maven-aether-provider/src/test/resources/repo/org/apache/maven/its/dep-mng5459/0.4.0-SNAPSHOT/maven-metadata.xml
----------------------------------------------------------------------
diff --git a/maven-aether-provider/src/test/resources/repo/org/apache/maven/its/dep-mng5459/0.4.0-SNAPSHOT/maven-metadata.xml b/maven-aether-provider/src/test/resources/repo/org/apache/maven/its/dep-mng5459/0.4.0-SNAPSHOT/maven-metadata.xml
new file mode 100644
index 0000000..923f26f
--- /dev/null
+++ b/maven-aether-provider/src/test/resources/repo/org/apache/maven/its/dep-mng5459/0.4.0-SNAPSHOT/maven-metadata.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  ~ 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.
+-->
+
+<metadata xmlns="http://maven.apache.org/METADATA/1.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/METADATA/1.1.0 http://maven.apache.org/xsd/metadata-1.1.0.xsd"
+  modelVersion="1.1.0">
+  <groupId>org.apache.maven.its</groupId>
+  <artifactId>dep-mng5459</artifactId>
+  <version>0.4.0-SNAPSHOT</version>
+  <versioning>
+    <snapshot>
+      <timestamp>20130404.090532</timestamp>
+      <buildNumber>2</buildNumber>
+    </snapshot>
+    <lastUpdated>20130404093657</lastUpdated>
+    <snapshotVersions>
+      <snapshotVersion>
+        <extension>pom</extension>
+        <value>0.4.0-20130404.090532-2</value>
+        <updated>20130404090532</updated>
+      </snapshotVersion>
+      <snapshotVersion>
+        <extension>jar</extension>
+        <value>0.4.0-20130404.093655-3</value>
+        <updated>20130404093655</updated>
+      </snapshotVersion>
+    </snapshotVersions>
+  </versioning>
+</metadata>
\ No newline at end of file


[2/2] git commit: Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/maven

Posted by rf...@apache.org.
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/maven


Project: http://git-wip-us.apache.org/repos/asf/maven/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/5691c6e2
Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/5691c6e2
Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/5691c6e2

Branch: refs/heads/master
Commit: 5691c6e272e1317afdf33897adb4bc7b221bc0ee
Parents: c225847 7da3bbb
Author: rfscholte <rf...@apache.org>
Authored: Mon Aug 26 20:10:30 2013 +0200
Committer: rfscholte <rf...@apache.org>
Committed: Mon Aug 26 20:10:30 2013 +0200

----------------------------------------------------------------------
 apache-maven/pom.xml | 30 +++++++++++++++---------------
 1 file changed, 15 insertions(+), 15 deletions(-)
----------------------------------------------------------------------