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); }