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 f790ac063c7f..f1a4e150495f 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 2e5a22da03fc..ef2e32469d55 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); }