diff --git a/WHATSNEW b/WHATSNEW index 8b787bafa..29906c059 100644 --- a/WHATSNEW +++ b/WHATSNEW @@ -18,6 +18,10 @@ Fixed bugs: the first one. Bugzilla Report 48715. + * Regression: The task would allow multiple + META-INF/application.xml files to be added. + Bugzilla Report 6836. + Other changes: -------------- diff --git a/src/main/org/apache/tools/ant/taskdefs/Ear.java b/src/main/org/apache/tools/ant/taskdefs/Ear.java index 90e08032b..d8005a195 100644 --- a/src/main/org/apache/tools/ant/taskdefs/Ear.java +++ b/src/main/org/apache/tools/ant/taskdefs/Ear.java @@ -40,6 +40,8 @@ public class Ear extends Jar { private File deploymentDescriptor; private boolean descriptorAdded; private static final String XML_DESCRIPTOR_PATH = "META-INF/application.xml"; + private static final String XML_DESCRIPTOR_PATH_LC = + XML_DESCRIPTOR_PATH.toLowerCase(Locale.ENGLISH); /** * Create an Ear task. @@ -126,8 +128,8 @@ public class Ear extends Jar { // file is specified by the "appxml" attribute and in a // element. String vPathLowerCase = vPath.toLowerCase(Locale.ENGLISH); - if (XML_DESCRIPTOR_PATH.equals(vPathLowerCase)) { - if (deploymentDescriptor != null + if (XML_DESCRIPTOR_PATH_LC.equals(vPathLowerCase)) { + if (deploymentDescriptor == null || !FILE_UTILS.fileNameEquals(deploymentDescriptor, file) || descriptorAdded) { logWhenWriting("Warning: selected " + archiveType diff --git a/src/tests/antunit/taskdefs/ear-test.xml b/src/tests/antunit/taskdefs/ear-test.xml index e44f7bf1e..239c501ac 100644 --- a/src/tests/antunit/taskdefs/ear-test.xml +++ b/src/tests/antunit/taskdefs/ear-test.xml @@ -26,5 +26,6 @@ +