From a0c2e2864e80ede28fdb200316491d73501d4306 Mon Sep 17 00:00:00 2001 From: Peter Reilly Date: Tue, 24 Feb 2004 09:30:30 +0000 Subject: [PATCH] MacroDef did not allow attributes named 'description'. PR: 27175 Reported by: Jayson Raymond git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@276144 13f79535-47bb-0310-9956-ffa450edef68 --- WHATSNEW | 2 ++ src/etc/testcases/taskdefs/macrodef.xml | 12 ++++++++++++ .../org/apache/tools/ant/taskdefs/MacroInstance.java | 3 +++ .../org/apache/tools/ant/taskdefs/MacroDefTest.java | 5 +++++ 4 files changed, 22 insertions(+) diff --git a/WHATSNEW b/WHATSNEW index 92a708c3b..3b8a0fa3e 100644 --- a/WHATSNEW +++ b/WHATSNEW @@ -48,6 +48,8 @@ Fixed bugs: * SQL task did not work with Informix IDS 9.2. Bugzilla Report 27162. +* MacroDef did not allow attributes named 'description'. Bugzilla Report 27175. + Other changes: -------------- diff --git a/src/etc/testcases/taskdefs/macrodef.xml b/src/etc/testcases/taskdefs/macrodef.xml index b8780fa82..b64418c72 100644 --- a/src/etc/testcases/taskdefs/macrodef.xml +++ b/src/etc/testcases/taskdefs/macrodef.xml @@ -156,4 +156,16 @@ + + + + + + + description is @{description} + + + + + diff --git a/src/main/org/apache/tools/ant/taskdefs/MacroInstance.java b/src/main/org/apache/tools/ant/taskdefs/MacroInstance.java index dfc3e9db5..e6634e11c 100644 --- a/src/main/org/apache/tools/ant/taskdefs/MacroInstance.java +++ b/src/main/org/apache/tools/ant/taskdefs/MacroInstance.java @@ -282,6 +282,9 @@ public class MacroInstance extends Task implements DynamicConfigurator { for (Iterator i = macroDef.getAttributes().iterator(); i.hasNext();) { MacroDef.Attribute attribute = (MacroDef.Attribute) i.next(); String value = (String) map.get(attribute.getName()); + if (value == null && "description".equals(attribute.getName())) { + value = getDescription(); + } if (value == null) { value = attribute.getDefault(); value = macroSubs(value, localProperties); diff --git a/src/testcases/org/apache/tools/ant/taskdefs/MacroDefTest.java b/src/testcases/org/apache/tools/ant/taskdefs/MacroDefTest.java index 5bd24d879..dfbdd3998 100644 --- a/src/testcases/org/apache/tools/ant/taskdefs/MacroDefTest.java +++ b/src/testcases/org/apache/tools/ant/taskdefs/MacroDefTest.java @@ -104,5 +104,10 @@ public class MacroDefTest extends BuildFileTest { "escape", "a@b or a@b is avalue@bvalue"); } + public void testAttributeDescription() { + expectLog( + "attribute.description", + "description is hello world"); + } }