You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by cs...@apache.org on 2022/07/01 21:50:05 UTC

[maven-indexer] branch maven-indexer-6.2.x updated: [MINDEXER-164] Fix IOOBEx on GAV remote repositories (#225)

This is an automated email from the ASF dual-hosted git repository.

cstamas pushed a commit to branch maven-indexer-6.2.x
in repository https://gitbox.apache.org/repos/asf/maven-indexer.git


The following commit(s) were added to refs/heads/maven-indexer-6.2.x by this push:
     new d07fc69  [MINDEXER-164] Fix IOOBEx on GAV remote repositories (#225)
d07fc69 is described below

commit d07fc69ee9400bed59e83b92ca8e2684a6ac88a9
Author: Fabian Windheuser <ma...@fabian.me>
AuthorDate: Fri Jul 1 22:48:56 2022 +0100

    [MINDEXER-164] Fix IOOBEx on GAV remote repositories (#225)
    
    The exception can still happen if the local repository contains _remote.repository or similar files. Apparently, with Maven 3.0.x, maven creates these file to record where the file was resolved from.
---
 .../java/org/apache/maven/index/DefaultArtifactContextProducer.java   | 1 +
 .../main/java/org/apache/maven/index/artifact/M2GavCalculator.java    | 3 ++-
 .../java/org/apache/maven/index/artifact/M2GavCalculatorTest.java     | 4 ++++
 3 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/indexer-core/src/main/java/org/apache/maven/index/DefaultArtifactContextProducer.java b/indexer-core/src/main/java/org/apache/maven/index/DefaultArtifactContextProducer.java
index f7b8c3d..737e51b 100644
--- a/indexer-core/src/main/java/org/apache/maven/index/DefaultArtifactContextProducer.java
+++ b/indexer-core/src/main/java/org/apache/maven/index/DefaultArtifactContextProducer.java
@@ -145,6 +145,7 @@ public class DefaultArtifactContextProducer
 
         return !filename.equals( "maven-metadata.xml" )
                 && !( filename.startsWith( "maven-metadata-" ) && filename.endsWith( ".xml" ) )
+                && !( filename.startsWith( "_" ) && filename.endsWith( ".repositories" ) )
                 // || filename.endsWith( "-javadoc.jar" )
                 // || filename.endsWith( "-javadocs.jar" )
                 // || filename.endsWith( "-sources.jar" )
diff --git a/indexer-core/src/main/java/org/apache/maven/index/artifact/M2GavCalculator.java b/indexer-core/src/main/java/org/apache/maven/index/artifact/M2GavCalculator.java
index 72b1da0..383283f 100644
--- a/indexer-core/src/main/java/org/apache/maven/index/artifact/M2GavCalculator.java
+++ b/indexer-core/src/main/java/org/apache/maven/index/artifact/M2GavCalculator.java
@@ -92,7 +92,8 @@ public class M2GavCalculator
             }
 
             if ( s.endsWith( "maven-metadata.xml" )
-                    || ( fileName.startsWith( "maven-metadata-" ) && fileName.contains( ".xml" ) ) )
+                    || ( fileName.startsWith( "maven-metadata-" ) && fileName.contains( ".xml" ) )
+                    || ( fileName.startsWith( "_" ) && fileName.endsWith( ".repositories" ) ) )
             {
                 return null;
             }
diff --git a/indexer-core/src/test/java/org/apache/maven/index/artifact/M2GavCalculatorTest.java b/indexer-core/src/test/java/org/apache/maven/index/artifact/M2GavCalculatorTest.java
index a5f6201..3e54d5f 100644
--- a/indexer-core/src/test/java/org/apache/maven/index/artifact/M2GavCalculatorTest.java
+++ b/indexer-core/src/test/java/org/apache/maven/index/artifact/M2GavCalculatorTest.java
@@ -585,6 +585,10 @@ public class M2GavCalculatorTest
         assertNull( gav );
         gav = gavCalculator.pathToGav( "/dev/mbien/hintmod/maven-metadata-local.xml" );
         assertNull( gav );
+        gav = gavCalculator.pathToGav( "/dev/mbien/hintmod/1.0-SNAPSHOT/_remote.repositories" ); // causes MINDEXER-164
+        assertNull( gav );
+        gav = gavCalculator.pathToGav( "/dev/mbien/hintmod/1.0-SNAPSHOT/_maven.repositories" );
+        assertNull( gav );
     }
 
     public void testNegGav()