From 78baa449fb7a368312daa485f7f8c0201fff9208 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Efe=20G=C3=B6kdemir?= Date: Thu, 24 Sep 2026 10:44:47 +0300 Subject: [PATCH] fix: report file name mapping interpolation failures Fixes #515 --- .../apache/maven/plugins/ear/AbstractEarModule.java | 8 +++++--- .../org/apache/maven/plugins/ear/AbstractEarMojo.java | 1 + .../apache/maven/plugins/ear/EarExecutionContext.java | 11 +++++++++++ 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/apache/maven/plugins/ear/AbstractEarModule.java b/src/main/java/org/apache/maven/plugins/ear/AbstractEarModule.java index 4a5ca829..efd0ca4b 100644 --- a/src/main/java/org/apache/maven/plugins/ear/AbstractEarModule.java +++ b/src/main/java/org/apache/maven/plugins/ear/AbstractEarModule.java @@ -22,6 +22,7 @@ import org.apache.maven.artifact.Artifact; import org.apache.maven.plugin.MojoFailureException; +import org.apache.maven.plugin.logging.Log; import org.apache.maven.plugins.ear.util.ArtifactRepository; import org.apache.maven.shared.mapping.MappingUtils; import org.codehaus.plexus.interpolation.InterpolationException; @@ -266,9 +267,10 @@ public String getBundleFileName() { String outputFileNameMapping = earExecutionContext.getOutputFileNameMapping(); bundleFileName = MappingUtils.evaluateFileNameMapping(outputFileNameMapping, artifact); } catch (InterpolationException e) { - // We currently ignore this here, cause assumption is that - // has already been happened before.. - // FIXME: Should be checked first. + Log log = earExecutionContext.getLog(); + if (log != null) { + log.warn("Failed to evaluate file name mapping for [" + this + "]", e); + } } // bundleFileName = earExecutionContext.getFileNameMapping().mapFileName( artifact ); diff --git a/src/main/java/org/apache/maven/plugins/ear/AbstractEarMojo.java b/src/main/java/org/apache/maven/plugins/ear/AbstractEarMojo.java index 97111d0e..501094d4 100644 --- a/src/main/java/org/apache/maven/plugins/ear/AbstractEarMojo.java +++ b/src/main/java/org/apache/maven/plugins/ear/AbstractEarMojo.java @@ -196,6 +196,7 @@ public void execute() throws MojoExecutionException, MojoFailureException { jbossConfiguration, outputFileNameMapping, typeMappingService); + earExecutionContext.setLog(getLog()); getLog().debug("Resolving ear modules ..."); List allModules = new ArrayList<>(); diff --git a/src/main/java/org/apache/maven/plugins/ear/EarExecutionContext.java b/src/main/java/org/apache/maven/plugins/ear/EarExecutionContext.java index e8ed8499..7ad4a35d 100644 --- a/src/main/java/org/apache/maven/plugins/ear/EarExecutionContext.java +++ b/src/main/java/org/apache/maven/plugins/ear/EarExecutionContext.java @@ -18,6 +18,7 @@ */ package org.apache.maven.plugins.ear; +import org.apache.maven.plugin.logging.Log; import org.apache.maven.plugins.ear.util.ArtifactRepository; import org.apache.maven.plugins.ear.util.ArtifactTypeMappingService; import org.apache.maven.project.MavenProject; @@ -36,6 +37,8 @@ public class EarExecutionContext { private ArtifactRepository artifactRepository; + private Log log; + /** * @param project {@link MavenProject} * @param mainArtifactId the artifactId @@ -60,6 +63,14 @@ public EarExecutionContext( typeMappingService); } + void setLog(Log log) { + this.log = log; + } + + Log getLog() { + return log; + } + /** * @return {@link #defaultLibBundleDir} */