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

mbenson pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ant.git

commit 413f5c0dea3bba8cd2d7f71e65281f0256f77665
Author: Matt Benson <mben...@apache.org>
AuthorDate: Mon Feb 14 15:04:16 2022 -0600

    make scriptcondition behave as documented wrt script return value
---
 .../apache/tools/ant/types/optional/ScriptCondition.java |  4 ++--
 .../antunit/types/optional/scriptcondition-test.xml      | 16 ++++++++++++++++
 2 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/src/main/org/apache/tools/ant/types/optional/ScriptCondition.java 
b/src/main/org/apache/tools/ant/types/optional/ScriptCondition.java
index a67588f..d3fbe9e 100644
--- a/src/main/org/apache/tools/ant/types/optional/ScriptCondition.java
+++ b/src/main/org/apache/tools/ant/types/optional/ScriptCondition.java
@@ -44,8 +44,8 @@ public class ScriptCondition extends AbstractScriptComponent 
implements Conditio
     @Override
     public boolean eval() throws BuildException {
         initScriptRunner();
-        executeScript("ant_condition");
-        return getValue();
+        final Object result = getRunner().evaluateScript("ant_condition");
+        return Boolean.TRUE.equals(result) || getValue();
     }
 
     /**
diff --git a/src/tests/antunit/types/optional/scriptcondition-test.xml 
b/src/tests/antunit/types/optional/scriptcondition-test.xml
index 3fb4f60..16d4af1 100644
--- a/src/tests/antunit/types/optional/scriptcondition-test.xml
+++ b/src/tests/antunit/types/optional/scriptcondition-test.xml
@@ -68,4 +68,20 @@
     </au:assertFalse>
   </target>
 
+  <target name="test-return-value-true">
+    <au:assertTrue>
+      <scriptcondition language="beanshell">
+        true
+      </scriptcondition>
+    </au:assertTrue>
+  </target>
+
+  <target name="test-return-value-false">
+    <au:assertTrue>
+      <scriptcondition language="beanshell" value="true">
+        false
+      </scriptcondition>
+    </au:assertTrue>
+  </target>
+
 </project>

Reply via email to