From cddf566221b074d1679f7a0e352bd41717c8c218 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Efe=20G=C3=B6kdemir?= Date: Fri, 25 Sep 2026 20:56:04 +0300 Subject: [PATCH] fix: use instance velocity engine for appended resources MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Efe Gökdemir --- .../AbstractProcessRemoteResourcesMojo.java | 4 +-- .../remote/RemoteResourcesMojoTest.java | 27 +++++++++++++++++++ 2 files changed, 28 insertions(+), 3 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 b5974fc..4e5baca 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 @@ -80,7 +80,6 @@ import org.apache.maven.shared.filtering.MavenFileFilterRequest; import org.apache.maven.shared.filtering.MavenFilteringException; import org.apache.velocity.VelocityContext; -import org.apache.velocity.app.Velocity; import org.apache.velocity.app.VelocityEngine; import org.apache.velocity.exception.MethodInvocationException; import org.apache.velocity.exception.ParseErrorException; @@ -980,8 +979,7 @@ protected void processResourceBundles(ClassLoader classLoader, VelocityContext c try (CachingOutputStream os = new CachingOutputStream(outputFile); Reader reader = getReader(bundle.getSourceEncoding(), appendedVmResourceFile); Writer writer = getWriter(bundle.getSourceEncoding(), os)) { - Velocity.init(); - Velocity.evaluate(context, writer, "remote-resources", reader); + velocity.evaluate(context, writer, "remote-resources", reader); } } } 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 78d895e..a02309a 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 @@ -254,6 +254,33 @@ public void testFilteredBundles() throws Exception { assertTrue(data.contains("projectsSortedByOrganization: {")); } + public void testFilteredAppendedResource() throws Exception { + final MavenProjectResourcesStub project = createTestProject("default-appended-filtered-resource"); + final ProcessRemoteResourcesMojo mojo = + lookupProcessMojoWithSettings(project, new String[] {"test:test:1.1"}); + + setupDefaultProject(project); + + String path = pathOf(new DefaultArtifact( + "test", "test", VersionRange.createFromVersion("1.1"), null, "jar", "", new DefaultArtifactHandler())); + File file = new File(path); + file.getParentFile().mkdirs(); + buildResourceBundle("default-appended-filtered-resource-create", null, new String[] {"FILTER.txt.vm"}, file); + + File appendedResourcesDirectory = new File(project.getBasedir(), "src/main/appended-resources"); + appendedResourcesDirectory.mkdirs(); + FileUtils.fileWrite( + new File(appendedResourcesDirectory, "FILTER.txt.vm").getAbsolutePath(), + "appended: $project.name"); + setVariableValueToObject(mojo, "appendedResourcesDirectory", appendedResourcesDirectory); + + mojo.execute(); + + file = (File) getVariableValueFromObject(mojo, "outputDirectory"); + String data = FileUtils.fileRead(new File(file, "FILTER.txt")); + assertTrue(data.contains("appended: Test Project default-appended-filtered-resource")); + } + public void testFilteredBundlesWithProjectProperties() throws Exception { final MavenProjectResourcesStub project = createTestProject("default-filterbundles-two"); final ProcessRemoteResourcesMojo mojo =