GenCRC32SectionTask is to call GenCRC32Section.exe to generate crc32 section. \r
\r
**/\r
-public class GenCRC32SectionTask extends Task implements EfiDefine{\r
+public class GenCRC32SectionTask extends Task implements EfiDefine {\r
///\r
/// output file\r
///\r
///\r
/// inputFile list\r
///\r
- private List<Object> inputFileList = new ArrayList<Object>();\r
+ private List<NestElement> inputFileList = new ArrayList<NestElement>();\r
\r
///\r
/// Project\r
String path = project.getProperty("env.FRAMEWORK_TOOLS_PATH"); \r
String command;\r
if (path == null) {\r
- command = "gencrc32section";\r
+ command = "GenCRC32Section";\r
} else {\r
- command = path + "/" + "gencrc32section" ;\r
+ command = path + "/" + "GenCRC32Section" ;\r
}\r
// \r
// string line of input files \r
// \r
- String inputFiles = list2Str(inputFileList, ""); \r
+ String inputFiles = " -i "; \r
+ for (int i = 0; i < inputFileList.size(); ++i) {\r
+ inputFiles += inputFileList.get(i).toString(" ");\r
+ }\r
+\r
// \r
// assemble argument \r
//\r
\r
runner.setAntRun(project);\r
runner.setCommandline(cmdline.getCommandline());\r
- System.out.println(Commandline.toString(cmdline.getCommandline()));\r
- \r
+ log(Commandline.toString(cmdline.getCommandline()), Project.MSG_VERBOSE);\r
+ log(" ");\r
revl = runner.execute();\r
if (EFI_SUCCESS == revl){\r
//\r
// command execution success \r
//\r
- System.out.println("gencrc32section succeeded!");\r
- }\r
- else\r
- {\r
+ log("GenCRC32Section succeeded!", Project.MSG_VERBOSE);\r
+ } else {\r
// \r
// command execution fail\r
//\r
- System.out.println("gencrc32section failed. (error=" + \r
- Integer.toHexString(revl) + \r
- ")"\r
- );\r
+ log("ERROR = " + Integer.toHexString(revl));\r
+ // LAH Added This Line\r
+ throw new BuildException("GenCRC32Section failed!");\r
}\r
} catch (Exception e) {\r
throw new BuildException(e.getMessage());\r
- }\r
- \r
+ } \r
}\r
\r
/**\r
*/\r
public void setOutputFile(String outputFile) {\r
this.outputFile = " -o " + outputFile;\r
- };\r
- \r
- /**\r
- * transfer List to String\r
- * @param list : nested element list\r
- * @param tag : interval tag of parameter\r
- * @return string line of parameters \r
- */\r
- private String list2Str(List list, String tag) {\r
- /*\r
- * string line for return\r
- */\r
- String paraStr = " -i"; \r
- /*\r
- * nested element in list\r
- */\r
- NestElement element; \r
- /*\r
- * iterator of nested element list\r
- */\r
- Iterator elementIter = list.iterator(); \r
- /*\r
- * string parameter list\r
- */\r
- List<Object> strList = new ArrayList<Object>(); \r
- \r
- while (elementIter.hasNext()) {\r
- element = (NestElement) elementIter.next();\r
- if (null != element.getFile()) {\r
- FileParser.loadFile(project, strList, element.getFile(), tag);\r
- } else {\r
- paraStr = paraStr + element.getName();\r
- }\r
- }\r
- /*\r
- * iterator of string parameter list\r
- */\r
- Iterator strIter = strList.iterator(); \r
- while (strIter.hasNext()) {\r
- paraStr = paraStr + " " + strIter.next();\r
- }\r
- return paraStr;\r
- } \r
+ }\r
}\r