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

slachiewicz pushed a commit to branch agent/pr308-on-master
in repository 
https://gitbox.apache.org/repos/asf/maven-remote-resources-plugin.git

commit 46214aec9d766a7c73d8ac690f98d425addf8747
Author: Efe Gökdemir <[email protected]>
AuthorDate: Sat Oct 10 00:38:58 2026 +0300

    Use specific remote resource path errors
---
 .../resources/remote/AbstractProcessRemoteResourcesMojo.java   | 10 ++++++----
 .../maven/plugin/resources/remote/RemoteResourcesMojoTest.java |  4 ++--
 2 files changed, 8 insertions(+), 6 deletions(-)

diff --git 
a/src/main/java/org/apache/maven/plugin/resources/remote/AbstractProcessRemoteResourcesMojo.java
 
b/src/main/java/org/apache/maven/plugin/resources/remote/AbstractProcessRemoteResourcesMojo.java
index 28745dd..b4de47a 100644
--- 
a/src/main/java/org/apache/maven/plugin/resources/remote/AbstractProcessRemoteResourcesMojo.java
+++ 
b/src/main/java/org/apache/maven/plugin/resources/remote/AbstractProcessRemoteResourcesMojo.java
@@ -121,8 +121,10 @@ import org.eclipse.aether.util.artifact.JavaScopes;
  */
 public abstract class AbstractProcessRemoteResourcesMojo extends AbstractMojo {
     private static final String TEMPLATE_SUFFIX = ".vm";
-    private static final String INVALID_REMOTE_RESOURCE_PATH_MESSAGE =
-            "Remote resource path must be relative and within the output 
directory: ";
+    private static final String ABSOLUTE_REMOTE_RESOURCE_PATH_MESSAGE =
+            "Absolute remote resource paths are not allowed: ";
+    private static final String 
REMOTE_RESOURCE_OUTSIDE_OUTPUT_DIRECTORY_MESSAGE =
+            "Remote resource path must remain within the output directory: ";
 
     /**
      * <p>
@@ -1042,12 +1044,12 @@ public abstract class 
AbstractProcessRemoteResourcesMojo extends AbstractMojo {
     private static File resolveOutputFile(File outputDirectory, File 
canonicalOutputDirectory, String resourceName)
             throws IOException, MojoExecutionException {
         if (new File(resourceName).isAbsolute()) {
-            throw new 
MojoExecutionException(INVALID_REMOTE_RESOURCE_PATH_MESSAGE + resourceName);
+            throw new 
MojoExecutionException(ABSOLUTE_REMOTE_RESOURCE_PATH_MESSAGE + resourceName);
         }
         File outputFile = new File(outputDirectory, 
resourceName).getCanonicalFile();
         if (outputFile.equals(canonicalOutputDirectory)
                 || 
!outputFile.toPath().startsWith(canonicalOutputDirectory.toPath())) {
-            throw new 
MojoExecutionException(INVALID_REMOTE_RESOURCE_PATH_MESSAGE + resourceName);
+            throw new 
MojoExecutionException(REMOTE_RESOURCE_OUTSIDE_OUTPUT_DIRECTORY_MESSAGE + 
resourceName);
         }
         return outputFile;
     }
diff --git 
a/src/test/java/org/apache/maven/plugin/resources/remote/RemoteResourcesMojoTest.java
 
b/src/test/java/org/apache/maven/plugin/resources/remote/RemoteResourcesMojoTest.java
index 578bd51..b8f605e 100644
--- 
a/src/test/java/org/apache/maven/plugin/resources/remote/RemoteResourcesMojoTest.java
+++ 
b/src/test/java/org/apache/maven/plugin/resources/remote/RemoteResourcesMojoTest.java
@@ -96,7 +96,7 @@ public class RemoteResourcesMojoTest extends 
AbstractMojoTestCase {
             
AbstractProcessRemoteResourcesMojo.resolveOutputFile(outputDirectory, 
"../outside.txt");
             fail("expected a resource outside the output directory to be 
rejected");
         } catch (MojoExecutionException e) {
-            assertTrue(e.getMessage().contains("must be relative and within 
the output directory"));
+            assertTrue(e.getMessage().contains("must remain within the output 
directory"));
         }
 
         try {
@@ -104,7 +104,7 @@ public class RemoteResourcesMojoTest extends 
AbstractMojoTestCase {
                     outputDirectory, new File(outputDirectory.getParentFile(), 
"absolute.txt").getAbsolutePath());
             fail("expected an absolute resource path outside the output 
directory to be rejected");
         } catch (MojoExecutionException e) {
-            assertTrue(e.getMessage().contains("must be relative and within 
the output directory"));
+            assertTrue(e.getMessage().contains("Absolute remote resource paths 
are not allowed"));
         }
 
         File outputFile = 
AbstractProcessRemoteResourcesMojo.resolveOutputFile(outputDirectory, 
"nested/resource.txt");

Reply via email to