THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
\r
- **/\r
+**/\r
\r
package org.tianocore.framework.tasks;\r
\r
import java.io.ByteArrayOutputStream;\r
import java.io.DataOutputStream;\r
+import java.io.File;\r
+import java.io.file;\r
import java.util.ArrayList;\r
import java.util.Iterator;\r
import java.util.List;\r
import org.apache.tools.ant.types.Commandline;\r
import org.tianocore.common.logger.EdkLog;\r
\r
-public class GenSectionTask extends Task implements EfiDefine, Section,\r
- FfsTypes {\r
+public class GenSectionTask extends Task implements EfiDefine, Section, FfsTypes {\r
+ //\r
+ // Tool name\r
+ // \r
+ private final static String toolName = "GenSection";\r
//\r
// inputfile name\r
//\r
private boolean haveTool = false;\r
\r
/**\r
- * execute\r
- * \r
- * GenSectionTaks execute is to assemble tool command line & execute tool\r
- * command line.\r
- * \r
- * @throws BuildException\r
- */\r
+ execute\r
+ \r
+ GenSectionTaks execute is to assemble tool command line & execute tool\r
+ command line.\r
+ \r
+ @throws BuildException\r
+ **/\r
public void execute() throws BuildException {\r
String command;\r
Project project = this.getOwningTarget().getProject();\r
//\r
String path = project.getProperty("env.FRAMEWORK_TOOLS_PATH");\r
if (path == null) {\r
- command = "GenSection";\r
+ command = toolName;\r
} else {\r
- command = path + "/" + "GenSection";\r
+ command = path + File.separator + toolName;\r
}\r
//\r
// argument of tools\r
//\r
- String argument = "" + inputFile + outputFile + sectionType\r
- + versionNum + interfaceString;\r
+ String argument = "" + inputFile + outputFile + sectionType + versionNum + interfaceString;\r
//\r
// return value of gensection execution\r
//\r
runner.setAntRun(project);\r
runner.setCommandline(cmdline.getCommandline());\r
\r
- EdkLog.log(this, inputFile.toFileList() + " => "\r
- + outputFile.toFileList());\r
- EdkLog.log(this, EdkLog.EDK_VERBOSE, Commandline.toString(cmdline\r
- .getCommandline()));\r
+ EdkLog.log(this, inputFile.toFileList() + versionNum.getValue() \r
+ + interfaceString.getValue() + " => " + outputFile.toFileList());\r
+ EdkLog.log(this, EdkLog.EDK_VERBOSE, Commandline.toString(cmdline.getCommandline()));\r
\r
revl = runner.execute();\r
if (EFI_SUCCESS == revl) {\r
- EdkLog.log(this, EdkLog.EDK_VERBOSE, "GenSection succeeded!");\r
+ EdkLog.log(this, EdkLog.EDK_VERBOSE, toolName + " succeeded!");\r
} else {\r
//\r
// command execution fail\r
//\r
- EdkLog.log(this, EdkLog.EDK_INFO, "ERROR = "\r
- + Integer.toHexString(revl));\r
- throw new BuildException("GenSection failed!");\r
+ EdkLog.log(this, EdkLog.EDK_INFO, "ERROR = " + Integer.toHexString(revl));\r
+ throw new BuildException(toolName + " failed!");\r
}\r
} catch (Exception e) {\r
throw new BuildException(e.getMessage());\r
}\r
\r
/**\r
- * getInputFile\r
- * \r
- * This function is to get class member "inputFile".\r
- * \r
- * @return name of input file\r
- */\r
+ getInputFile\r
+ \r
+ This function is to get class member "inputFile".\r
+ \r
+ @return name of input file\r
+ **/\r
public String getInputFile() {\r
return this.inputFile.getValue();\r
}\r
\r
/**\r
- * setInputFile\r
- * \r
- * This function is to set class member "inputFile".\r
- * \r
- * @param inputFile\r
- * name of input file\r
- */\r
+ setInputFile\r
+ \r
+ This function is to set class member "inputFile".\r
+ \r
+ @param inputFile name of input file\r
+ **/\r
public void setInputFile(String inputFile) {\r
this.inputFile.setArg(" -i ", inputFile);\r
}\r
\r
/**\r
- * getOutputFile\r
- * \r
- * This function is to get class member "outputFile".\r
- * \r
- * @return name of output file\r
- */\r
+ getOutputFile\r
+ \r
+ This function is to get class member "outputFile".\r
+ \r
+ @return name of output file\r
+ **/\r
public String getOutputFile() {\r
return this.outputFile.getValue();\r
}\r
\r
/**\r
- * setOutputfile\r
- * \r
- * This function is to set class member "outputFile".\r
- * \r
- * @param outputFile\r
- * name of output file\r
- */\r
+ setOutputfile\r
+ \r
+ This function is to set class member "outputFile".\r
+ @param outputFile name of output file\r
+ **/\r
public void setOutputfile(String outputFile) {\r
this.outputFile.setArg(" -o ", outputFile);\r
}\r
\r
/**\r
- * getSectionType\r
- * \r
- * This function is to get class member "sectionType".\r
- * \r
- * @return sectoin type\r
- */\r
+ getSectionType\r
+ \r
+ This function is to get class member "sectionType".\r
+ \r
+ @return sectoin type\r
+ **/\r
public String getSectionType() {\r
return this.sectionType.getValue();\r
}\r
\r
/**\r
- * setSectionType\r
- * \r
- * This function is to set class member "sectionType".\r
- * \r
- * @param sectionType\r
- * section type\r
- */\r
+ setSectionType\r
+ \r
+ This function is to set class member "sectionType".\r
+ \r
+ @param sectionType section type\r
+ **/\r
public void setSectionType(String sectionType) {\r
this.sectionType.setArg(" -s ", sectionType);\r
}\r
\r
/**\r
- * getVersionNum\r
- * \r
- * This function is to get class member "versionNum".\r
- * \r
- * @return version number\r
- */\r
+ getVersionNum\r
+ \r
+ This function is to get class member "versionNum".\r
+ @return version number\r
+ **/\r
public String getVersionNum() {\r
return this.versionNum.getValue();\r
}\r
\r
/**\r
- * setVersionNume\r
- * \r
- * This function is to set class member "versionNum".\r
- * \r
- * @param versionNum\r
- * version number\r
- */\r
+ setVersionNume\r
+ \r
+ This function is to set class member "versionNum".\r
+ @param versionNum version number\r
+ **/\r
public void setVersionNum(String versionNum) {\r
this.versionNum.setArg(" -v ", versionNum);\r
}\r
\r
/**\r
- * getInterfaceString\r
- * \r
- * This function is to get class member "interfaceString".\r
- * \r
- * @return interface string\r
- */\r
+ getInterfaceString\r
+ \r
+ This function is to get class member "interfaceString".\r
+ @return interface string\r
+ **/\r
public String getInterfaceString() {\r
return this.interfaceString.getValue();\r
}\r
\r
/**\r
- * setInterfaceString\r
- * \r
- * This funcion is to set class member "interfaceString".\r
- * \r
- * @param interfaceString\r
- * interface string\r
- */\r
+ setInterfaceString\r
+ \r
+ This funcion is to set class member "interfaceString".\r
+ @param interfaceString interface string\r
+ **/\r
public void setInterfaceString(String interfaceString) {\r
this.interfaceString.setArg(" -a ", "\"" + interfaceString + "\"");\r
}\r
-\r
+ \r
/**\r
- * addSectFile\r
- * \r
- * This function is to add sectFile to list.\r
- * \r
- * @param sectFile\r
- * instance of sectFile.\r
- */\r
- public void addSectFile(SectFile sectFile) {\r
+ addSectFile\r
+ \r
+ This function is to add sectFile to list.\r
+ \r
+ @param sectFile instance of sectFile.\r
+ **/\r
+ public void addSectFile(SectFile sectFile){\r
this.sectFileList.add(sectFile);\r
}\r
\r
/**\r
- * setTool\r
- * \r
- * This function is to set the class member "Tool";\r
- * \r
- * @param tool\r
- */\r
+ setTool\r
+ \r
+ This function is to set the class member "Tool";\r
+ \r
+ @param tool \r
+ **/\r
public void addTool(Tool tool) {\r
this.sectFileList.add(tool);\r
this.haveTool = true;\r
}\r
-\r
+ \r
/**\r
- * addGenSection\r
- * \r
- * This function is to add GenSectin element to list\r
- * \r
- * @param task\r
- * Instance of genSection\r
- */\r
- public void addGenSection(GenSectionTask task) {\r
+ addGenSection\r
+ \r
+ This function is to add GenSectin element to list\r
+ @param task Instance of genSection\r
+ **/\r
+ public void addGenSection(GenSectionTask task){\r
this.sectFileList.add(task);\r
}\r
-\r
- public void toBuffer(DataOutputStream buffer) {\r
+ \r
+ public void toBuffer(DataOutputStream buffer){\r
//\r
// Search SectionList find earch section and call it's\r
// ToBuffer function.\r