From: jjin9 Date: Tue, 17 Oct 2006 08:29:13 +0000 (+0000) Subject: Fix the EDKT414, the old value should be replaced with new value. X-Git-Tag: edk2-stable201903~24100 X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=commitdiff_plain;h=d3f458486e33d78de1aa9fc2c347f2d20a31b4b6 Fix the EDKT414, the old value should be replaced with new value. Another modification, For some settings, there are one and only one valid value, such as ACTIVE_PLATFORM and TOOL_CHAIN_CONF. Add a protection to ensure the valid number of these setting in this version. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1774 6f19259b-4bc3-4df7-8a09-765794883524 --- diff --git a/Tools/Java/Source/ContextTool/org/tianocore/context/ParseParameter.java b/Tools/Java/Source/ContextTool/org/tianocore/context/ParseParameter.java index 8f1c8b2f77..6b210ec1af 100644 --- a/Tools/Java/Source/ContextTool/org/tianocore/context/ParseParameter.java +++ b/Tools/Java/Source/ContextTool/org/tianocore/context/ParseParameter.java @@ -83,25 +83,26 @@ public class ParseParameter { return 1; } // - //argstr is "-p ?", display possible setting + //argstr is "-p ? ", display possible setting // if(argstr.length() < 6 && argstr.charAt(3) == '?'){ System.out.printf( "%s\n", "assign the platform FPD file's relative path to WORKSPACE" ); return 2; } // - //argstr is "-p 0", clean current setting + //argstr is "-p 0 ", clean current setting // if(argstr.length() < 6 && argstr.charAt(3) == '0'){ curpstr = pstr; npflag = true; continue; } - if(curpstr == null){ - curpstr = pstr.concat(argstr.substring(2)); - }else{ - curpstr = mergeSetting(curpstr, argstr); + String[] S = argstr.split(" "); + if(S.length > 2){ + System.out.printf( "%s\n", "The number of ACTIVE_PLATFORM can not more than 1."); + return 3; } + curpstr = pstr.concat(argstr.substring(2)); npflag = true; } else if (argstr.charAt(1) == 't') { if(argstr.length() < 4 && argstr.charAt(2) == ' '){ @@ -117,11 +118,7 @@ public class ParseParameter { ntflag = true; continue; } - if(curtstr == null){ - curtstr = tstr.concat(argstr.substring(2)); - }else{ - curtstr = mergeSetting(curtstr, argstr); - } + curtstr = tstr.concat(argstr.substring(2)); ntflag = true; } else if (argstr.charAt(1) == 'a') { if(argstr.length() < 4 && argstr.charAt(2) == ' '){ @@ -137,11 +134,7 @@ public class ParseParameter { naflag = true; continue; } - if(curastr == null){ - curastr = astr.concat(argstr.substring(2)); - }else{ - curastr = mergeSetting(curastr, argstr); - } + curastr = astr.concat(argstr.substring(2)); naflag = true; } else if (argstr.charAt(1) == 'c') { if(argstr.length() < 4 && argstr.charAt(2) == ' '){ @@ -157,11 +150,12 @@ public class ParseParameter { ncflag = true; continue; } - if(curcstr == null){ - curcstr = pstr.concat(argstr.substring(2)); - }else{ - curcstr = mergeSetting(curcstr, argstr); + String[] S = argstr.split(" "); + if(S.length > 2){ + System.out.printf( "%s\n", "The number of TOOL_CHAIN_CONF can not more than 1."); + return 3; } + curcstr = cstr.concat(argstr.substring(2)); ncflag = true; } else if (argstr.charAt(1) == 'n') { if(argstr.length() < 4 && argstr.charAt(2) == ' '){ @@ -177,11 +171,7 @@ public class ParseParameter { nnflag = true; continue; } - if(curnstr == null){ - curnstr = nstr.concat(argstr.substring(2)); - }else{ - curnstr = mergeSetting(curnstr, argstr); - } + curnstr = nstr.concat(argstr.substring(2)); nnflag = true; } else if (argstr.charAt(1) == 'm') { if(argstr.length() < 4 && argstr.charAt(2) == ' '){ @@ -192,6 +182,11 @@ public class ParseParameter { System.out.printf( "%s\n", "The number of concurrent threads. Default is 2. Recommend to set this value to one more than the number of your compurter cores or CPUs." ); return 2; } + String[] S = argstr.split(" "); + if(S.length > 2){ + System.out.printf( "%s\n", "The format of number is wrong."); + return 3; + } mstr += argstr.substring(2); curmstr = mstr; nmflag = true; @@ -207,31 +202,60 @@ public class ParseParameter { } return 0; } - - - public static String mergeSetting( String S1, String S2){ - - String[] S = S2.split(" "); - for(int i = 1; i < S.length; i++){ - if(S1.contains(S[i]) == false){ - S1 = S1.concat(" ").concat(S[i]); - } - } - - return S1; - } public static boolean outputCurSetting(){ System.out.printf( "%s\n", "The current setting is:" ); - System.out.printf( "%s\n", curpstr ); - System.out.printf( "%s\n", curtstr ); - System.out.printf( "%s\n", curastr ); - System.out.printf( "%s\n", curcstr ); - System.out.printf( "%s\n", curnstr ); - System.out.printf( "%s\n", curmstr ); - System.out.printf( "%s\n", curmestr ); + + if(curpstr != null){ + System.out.printf( "%s\n", curpstr ); + } + else{ + System.out.printf( "%s\n", pstr ); + } + + if(curtstr != null){ + System.out.printf( "%s\n", curtstr ); + } + else{ + System.out.printf( "%s\n", tstr ); + } + + if(curastr != null){ + System.out.printf( "%s\n", curastr ); + } + else{ + System.out.printf( "%s\n", astr ); + } + + if(curcstr != null){ + System.out.printf( "%s\n", curcstr ); + } + else{ + System.out.printf( "%s\n", cstr ); + } + + if(curnstr != null){ + System.out.printf( "%s\n", curnstr ); + } + else{ + System.out.printf( "%s\n", nstr ); + } + + if(curmstr != null){ + System.out.printf( "%s\n", curmstr ); + } + else{ + System.out.printf( "%s\n", mstr ); + } + + if(curmstr != null){ + System.out.printf( "%s\n", curmestr ); + } + else{ + System.out.printf( "%s\n", mestr ); + } return true; } diff --git a/Tools/Java/Source/ContextTool/org/tianocore/context/TargetFile.java b/Tools/Java/Source/ContextTool/org/tianocore/context/TargetFile.java index 76c4b183d6..06a031c8bb 100644 --- a/Tools/Java/Source/ContextTool/org/tianocore/context/TargetFile.java +++ b/Tools/Java/Source/ContextTool/org/tianocore/context/TargetFile.java @@ -152,7 +152,7 @@ public class TargetFile { bw.newLine(); } else { // - //modify at the first time, and there should be *ACTIVE_PLATFORM*=* in the line + //modify at the first time, and there should be "*ACTIVE_PLATFORM*=*" in the line // if (textLine.indexOf("ACTIVE_PLATFORM") != -1) { if(pflag == true){ @@ -418,26 +418,6 @@ public class TargetFile { return true; } - private static String convertStr(String str){ - String convertStr = null; - - if( str.compareTo("-p") == 0 ){ - convertStr = "ACTIVE_PLATFORM"; - }else if( str.compareTo("-a") == 0){ - convertStr = "TARGET_ARCH"; - }else if( str.compareTo("-t") == 0){ - convertStr = "TARGET"; - }else if( str.compareTo("-c") == 0){ - convertStr = "TOOL_CHAIN_CONF"; - }else if( str.compareTo("-n") == 0){ - convertStr = "TOOL_CHAIN_TAG"; - }else if( str.compareTo("-m") == 0){ - convertStr = "MAX_CONCURRENT_THREAD_NUMBER"; - } - - return convertStr; - } - /** * according to user's input args, write the file directly