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

cstamas pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/maven.git


The following commit(s) were added to refs/heads/master by this push:
     new af6b7066bf [MNG-8687] Restore ability to run on JIMFS (#2256)
af6b7066bf is described below

commit af6b7066bf12efd4f58e0a88d0b2cfb591c2839a
Author: Tamas Cservenak <ta...@cservenak.net>
AuthorDate: Mon Apr 14 15:42:17 2025 +0200

    [MNG-8687] Restore ability to run on JIMFS (#2256)
    
    When worked on 
https://github.com/apache/maven-resolver/commit/35c2d7579d0c1c1e577c4d847171102ca91be2c7
 turned out that Resolver "demos" cannot run anymore on JIMFS. Restore that 
_minimally_ to make sure lowest possible binary compatibility disruption.
    
    ---
    
    https://issues.apache.org/jira/browse/MNG-8687
---
 .../org/apache/maven/model/building/FileModelSource.java | 16 +++++++++++-----
 .../maven/repository/internal/DefaultModelResolver.java  |  4 ++--
 2 files changed, 13 insertions(+), 7 deletions(-)

diff --git 
a/compat/maven-model-builder/src/main/java/org/apache/maven/model/building/FileModelSource.java
 
b/compat/maven-model-builder/src/main/java/org/apache/maven/model/building/FileModelSource.java
index f790ac063c..f1a4e15049 100644
--- 
a/compat/maven-model-builder/src/main/java/org/apache/maven/model/building/FileModelSource.java
+++ 
b/compat/maven-model-builder/src/main/java/org/apache/maven/model/building/FileModelSource.java
@@ -20,6 +20,8 @@
 
 import java.io.File;
 import java.net.URI;
+import java.nio.file.Files;
+import java.nio.file.Path;
 
 import org.apache.maven.building.FileSource;
 
@@ -40,6 +42,10 @@ public FileModelSource(File pomFile) {
         super(pomFile);
     }
 
+    public FileModelSource(Path pomFile) {
+        super(pomFile);
+    }
+
     /**
      *
      * @return the file of this source
@@ -55,15 +61,15 @@ public File getPomFile() {
     public ModelSource2 getRelatedSource(String relPath) {
         relPath = relPath.replace('\\', File.separatorChar).replace('/', 
File.separatorChar);
 
-        File relatedPom = new File(getFile().getParentFile(), relPath);
+        Path relatedPom = getPath().getParent().resolve(relPath);
 
-        if (relatedPom.isDirectory()) {
+        if (Files.isDirectory(relatedPom)) {
             // TODO figure out how to reuse ModelLocator.locatePom(File) here
-            relatedPom = new File(relatedPom, "pom.xml");
+            relatedPom = relatedPom.resolve("pom.xml");
         }
 
-        if (relatedPom.isFile() && relatedPom.canRead()) {
-            return new FileModelSource(new 
File(relatedPom.toURI().normalize()));
+        if (Files.isRegularFile(relatedPom) && Files.isReadable(relatedPom)) {
+            return new FileModelSource(relatedPom.normalize());
         }
 
         return null;
diff --git 
a/compat/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java
 
b/compat/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java
index 2e5a22da03..ef2e32469d 100644
--- 
a/compat/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java
+++ 
b/compat/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java
@@ -18,7 +18,7 @@
  */
 package org.apache.maven.repository.internal;
 
-import java.io.File;
+import java.nio.file.Path;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.HashSet;
@@ -161,7 +161,7 @@ public ModelSource resolveModel(String groupId, String 
artifactId, String versio
             throw new UnresolvableModelException(e.getMessage(), groupId, 
artifactId, version, e);
         }
 
-        File pomFile = pomArtifact.getFile();
+        Path pomFile = pomArtifact.getPath();
 
         return new FileModelSource(pomFile);
     }

Reply via email to