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>