From 7232fb76a86afd2038887e0c60bc14b84382988b Mon Sep 17 00:00:00 2001 From: WGC575 Date: Tue, 23 Jan 2024 18:37:36 -0800 Subject: [PATCH] [v202401231834] Updated CLI to disable mandatory lowercase() for all parameters. #109. --- .../java/edu/usc/softarch/arcade/util/CLI.java | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/main/java/edu/usc/softarch/arcade/util/CLI.java b/src/main/java/edu/usc/softarch/arcade/util/CLI.java index 0865edb8..e0d516e7 100644 --- a/src/main/java/edu/usc/softarch/arcade/util/CLI.java +++ b/src/main/java/edu/usc/softarch/arcade/util/CLI.java @@ -5,6 +5,8 @@ import java.util.HashMap; import java.util.Map; +// TODO: The arguments are forced to lower cases which causes problems when parsing versions for projects like struts which have upper case version tags. + public class CLI { public static Map parseArguments(String[] args) { Map result = new HashMap<>(); @@ -24,8 +26,14 @@ public static Map parseArguments(String[] args) { } // Argument is a value - if (arg.contains("=")) { - String[] argKeyValue = arg.toLowerCase().split("="); + if (arg.contains("=")){ + String[] argKeyValue = null; + if(arg.contains("projversion") || arg.contains("deps") || arg.contains("projpath")){ + argKeyValue = arg.split("="); + } + else{ + argKeyValue = arg.toLowerCase().split("="); + } // Message level argument if (argKeyValue[0].equals("messagelevel")) @@ -67,7 +75,7 @@ private static void setMessageLevel(String argument) { break; default: throw new IllegalArgumentException( - "Unknown messagelevel " + argument); + "Unknown messagelevel " + argument); } } }