This is an automated email from the ASF dual-hosted git repository. joshtynjala pushed a commit to branch develop in repository https://gitbox.apache.org/repos/asf/royale-compiler.git
commit 5886fc433eca0c02ea8f57963ba4dca1ce951fc9 Author: Josh Tynjala <joshtynj...@apache.org> AuthorDate: Mon Jul 18 12:40:49 2022 -0700 RoyaleUnit: improved commandArgs attribute parsing to ignore length == 0 --- .../royale/test/ant/tasks/RoyaleUnitTask.java | 55 +++++++++++----------- 1 file changed, 28 insertions(+), 27 deletions(-) diff --git a/royaleunit-ant-tasks/src/main/java/org/apache/royale/test/ant/tasks/RoyaleUnitTask.java b/royaleunit-ant-tasks/src/main/java/org/apache/royale/test/ant/tasks/RoyaleUnitTask.java index 9f4f73f61..e746917ee 100644 --- a/royaleunit-ant-tasks/src/main/java/org/apache/royale/test/ant/tasks/RoyaleUnitTask.java +++ b/royaleunit-ant-tasks/src/main/java/org/apache/royale/test/ant/tasks/RoyaleUnitTask.java @@ -151,11 +151,6 @@ public class RoyaleUnitTask extends Task implements DynamicElement, DynamicAttri configuration.setCommand(executableFilePath); } - public void setCommandArgs(String[] customArgs) - { - configuration.setCommandArgs(customArgs); - } - public void setHeadless(boolean headless) { configuration.setHeadless(headless); @@ -225,29 +220,35 @@ public class RoyaleUnitTask extends Task implements DynamicElement, DynamicAttri } } - private String[] parseCommandArgs(String combined) - { - List<String> result = new ArrayList<String>(); - Matcher matcher = COMMAND_ARGS_PATTERN.matcher(combined); - while (matcher.find()) + public void setDynamicAttribute(String arg0, String arg1) throws BuildException { - String option = matcher.group(); - result.add(option); - } - return result.toArray(new String[0]); - } - - public void setDynamicAttribute(String arg0, String arg1) - throws BuildException { - if("commandargs".equals(arg0)) - { - String[] commandArgs = parseCommandArgs(arg1); - configuration.setCommandArgs(commandArgs); - } - else - { + if("commandargs".equals(arg0)) + { + if (arg1.length() > 0) + { + String[] commandArgs = parseCommandArgs(arg1); + configuration.setCommandArgs(commandArgs); + } + else + { + configuration.setCommandArgs(null); + } + } + else + { throw new BuildException( "The <royaleUnit> type doesn't support the " + arg0 + " attribute"); - } - } + } + } + private String[] parseCommandArgs(String combined) + { + List<String> result = new ArrayList<String>(); + Matcher matcher = COMMAND_ARGS_PATTERN.matcher(combined); + while (matcher.find()) + { + String option = matcher.group(); + result.add(option); + } + return result.toArray(new String[0]); + } }