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]);
+    }
 }

Reply via email to