import org.apache.tools.ant.taskdefs.LogStreamHandler;\r
import org.apache.tools.ant.types.Commandline;\r
\r
+import org.tianocore.common.logger.EdkLog;\r
+\r
/**\r
FwImageTask class.\r
\r
FwImageTask is used to call FwImage.ext to generate the FwImage.\r
**/\r
-public class FwImageTask extends Task implements EfiDefine{\r
- ///\r
- /// time&data\r
- ///\r
- private String time = "";\r
- ///\r
- /// input PE image\r
- ///\r
- private String peImage = "";\r
- private String peImageName = "";\r
- ///\r
- /// output EFI image\r
- ///\r
- private String outImage = "";\r
- ///\r
- /// component type\r
- ///\r
- private String componentType = "";\r
+public class FwImageTask extends Task implements EfiDefine {\r
+ //\r
+ // fwimage tool name\r
+ // \r
+ private static String toolName = "FwImage";\r
+ //\r
+ // time&data\r
+ //\r
+ private ToolArg time = new ToolArg();\r
+ //\r
+ // input PE image\r
+ //\r
+ private FileArg peImage = new FileArg();\r
+ //\r
+ // output EFI image\r
+ //\r
+ private FileArg outImage = new FileArg();\r
+ //\r
+ // component type\r
+ //\r
+ private ToolArg componentType = new ToolArg();\r
\r
/**\r
* assemble tool command line & execute tool command line\r
String path = project.getProperty("env.FRAMEWORK_TOOLS_PATH");\r
String command;\r
if (path == null) {\r
- command = "FwImage";\r
+ command = toolName;\r
} else {\r
- command = path + "/" + "FwImage";\r
+ command = path + "/" + toolName;\r
}\r
//\r
// argument of tools\r
//\r
- String argument = time + componentType + peImage + outImage;\r
+ String argument = "" + time + componentType + peImage + outImage;\r
//\r
// return value of fwimage execution\r
//\r
runner.setAntRun(project);\r
runner.setCommandline(cmdline.getCommandline());\r
\r
- log(Commandline.toString(cmdline.getCommandline()), Project.MSG_VERBOSE);\r
- log(this.peImageName);\r
+ EdkLog.log(this, EdkLog.EDK_VERBOSE, Commandline.toString(cmdline.getCommandline()));\r
+ EdkLog.log(this, peImage.toFileList() + " => " + outImage.toFileList());\r
+\r
revl = runner.execute();\r
if (EFI_SUCCESS == revl) {\r
- log("FwImage succeeded!", Project.MSG_VERBOSE);\r
+ EdkLog.log(this, EdkLog.EDK_VERBOSE, "FwImage succeeded!");\r
} else {\r
//\r
// command execution fail\r
//\r
- log("ERROR = " + Integer.toHexString(revl));\r
+ EdkLog.log(this, "ERROR = " + Integer.toHexString(revl));\r
throw new BuildException("FwImage failed!");\r
}\r
} catch (Exception e) {\r
@param time string of time\r
**/\r
public void setTime(String time) {\r
- this.time = " -t " + time;\r
+ this.time.setArg(" -t ", time);\r
}\r
\r
/**\r
@return time string of time\r
**/\r
public String getTime() {\r
- return this.time;\r
+ return this.time.getValue();\r
}\r
\r
/**\r
@return name of PE image\r
**/\r
public String getPeImage() {\r
- return this.peImage;\r
+ return this.peImage.getValue();\r
}\r
\r
/**\r
@param peImage name of PE image\r
**/\r
public void setPeImage(String peImage) {\r
- this.peImageName = (new File(peImage)).getName();\r
- this.peImage = " " + peImage;\r
+ this.peImage.setArg(" ", peImage);\r
}\r
\r
/**\r
@return name of output EFI image\r
**/\r
public String getOutImage() {\r
- return this.outImage;\r
+ return this.outImage.getValue();\r
}\r
\r
/**\r
@param outImage name of output EFI image\r
**/\r
public void setOutImage(String outImage) {\r
- this.outImage = " " + outImage;\r
+ this.outImage.setArg(" ", outImage);\r
}\r
\r
/**\r
@return string of componentType\r
**/\r
public String getComponentType() {\r
- return this.componentType;\r
+ return this.componentType.getValue();\r
}\r
\r
/**\r
@param componentType string of component type\r
**/\r
public void setComponentType(String componentType) {\r
- this.componentType = " " + componentType;\r
+ this.componentType.setArg(" ", componentType);\r
}\r
}\r