X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=Tools%2FSource%2FFrameworkTasks%2Forg%2Ftianocore%2Fframework%2Ftasks%2FCreateMtFileTask.java;h=bdc492c0dc7d54d92f8cbc7809bfd121752516fc;hp=672e712b3e91d43d1001a9466d6e4f826888f476;hb=0fdb42ac4675ac888d7cfb3f29f68c342f47b9e9;hpb=39e5e412f910a30858d2feffdb69326ae088ee4c diff --git a/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/CreateMtFileTask.java b/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/CreateMtFileTask.java index 672e712b3e..bdc492c0dc 100644 --- a/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/CreateMtFileTask.java +++ b/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/CreateMtFileTask.java @@ -33,33 +33,33 @@ import org.tianocore.common.logger.EdkLog; CreateMtFileTask is used to call CreateMtFile.exe to create MT file. **/ public class CreateMtFileTask extends Task implements EfiDefine { - /// - /// Tool name - /// - private String toolName="CreateMtFile"; - /// - /// file size - /// - private String fileSize = ""; - - /// - /// output file - /// - private String outputFile = ""; - - /// - /// output directory, this variable is added by jave wrap - /// - private String outputDir = ""; + // + // Tool name + // + private String toolName = "CreateMtFile"; + // + // file size + // + private ToolArg fileSize = new ToolArg(); + + // + // output file + // + private FileArg outputFile = new FileArg(); + + // + // output directory, this variable is added by jave wrap + // + private String outputDir = "."; /** - * execute - * - * StripTask execute function is to assemble tool command line & execute - * tool command line - * - * @throws BuidException - */ + execute + + StripTask execute function is to assemble tool command line & execute + tool command line + + @throws BuidException + **/ public void execute() throws BuildException { Project project = this.getOwningTarget().getProject(); @@ -73,18 +73,12 @@ public class CreateMtFileTask extends Task implements EfiDefine { if (path == null) { command = toolName; } else { - command = path + File.separatorChar + toolName; + command = path + File.separator + toolName; } // // argument of tools // - File file = new File(outputFile); - if (!file.isAbsolute() && (!this.outputDir.equalsIgnoreCase(""))) { - argument = outputDir + File.separatorChar + outputFile + " " + this.fileSize; - - } else { - argument = outputFile + " " + this.fileSize; - } + argument = "" + outputFile + fileSize; // // return value of fwimage execution // @@ -101,24 +95,26 @@ public class CreateMtFileTask extends Task implements EfiDefine { runner.setAntRun(project); runner.setCommandline(cmdline.getCommandline()); + runner.setWorkingDirectory(new File(outputDir)); + // // Set debug log information. // EdkLog.log(this, EdkLog.EDK_VERBOSE, Commandline.toString(cmdline.getCommandline())); - EdkLog.log(this, EdkLog.EDK_INFO, (new File(this.outputFile)).getName()); - revl = runner.execute(); + EdkLog.log(this, EdkLog.EDK_INFO, this.outputFile.toFileList()); + revl = runner.execute(); if (EFI_SUCCESS == revl) { // // command execution success // - EdkLog.log(this, EdkLog.EDK_VERBOSE, "CreateMtFile succeeded!"); + EdkLog.log(this, EdkLog.EDK_VERBOSE, toolName + " succeeded!"); } else { // // command execution fail // EdkLog.log(this, EdkLog.EDK_INFO, "ERROR = " + Integer.toHexString(revl)); - throw new BuildException("CreateMtFile failed!"); + throw new BuildException(toolName + " failed!"); } } catch (Exception e) { throw new BuildException(e.getMessage()); @@ -126,70 +122,70 @@ public class CreateMtFileTask extends Task implements EfiDefine { } /** - * getFileSize - * - * This function is to get class member "fileSize". - * - * @return fileSize string of file size. - */ + getFileSize + + This function is to get class member "fileSize". + + @return fileSize string of file size. + **/ public String getFileSize() { - return this.fileSize; + return this.fileSize.getValue(); } /** - * setFileSize - * - * This function is to set class member "fileSize". - * - * @param fileSize - * string of file size value. - */ + setFileSize + + This function is to set class member "fileSize". + + @param fileSize + string of file size value. + **/ public void setFileSize(String fileSize) { - this.fileSize = fileSize; + this.fileSize.setArg(" ", fileSize); } /** - * getOutputFile - * - * This function is to get class member "outputFile" - * - * @return outputFile string of output file name. - */ + getOutputFile + + This function is to get class member "outputFile" + + @return outputFile string of output file name. + **/ public String getOutputFile() { - return outputFile; + return outputFile.getValue(); } /** - * setOutputFile - * - * This function is to set class member "outputFile" - * - * @param outputFile - * string of output file name. - */ + setOutputFile + + This function is to set class member "outputFile" + + @param outputFile + string of output file name. + **/ public void setOutputFile(String outputFile) { - this.outputFile = outputFile; + this.outputFile.setArg(" ", outputFile); } /** - * getOutputDir - * - * This function is to get class member "outputDir" - * - * @return outputDir string of output directory. - */ + getOutputDir + + This function is to get class member "outputDir" + + @return outputDir string of output directory. + **/ public String getOutputDir() { return outputDir; } /** - * setOutputDir - * - * This function is to set class member "outputDir" - * - * @param outputDir - * string of output directory. - */ + setOutputDir + + This function is to set class member "outputDir" + + @param outputDir + string of output directory. + **/ public void setOutputDir(String outputDir) { this.outputDir = outputDir; }