mirror of https://github.com/acidanthera/audk.git
1) Applied ToolArg and FileArg class to represent tool arguments
2) Unified the tool output message and exception handling 3) Cleaned the coding style 4) Removed used code git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1535 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
39e5e412f9
commit
0fdb42ac46
|
@ -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 = "";
|
||||
//
|
||||
// Tool name
|
||||
//
|
||||
private String toolName = "CreateMtFile";
|
||||
//
|
||||
// file size
|
||||
//
|
||||
private ToolArg fileSize = new ToolArg();
|
||||
|
||||
///
|
||||
/// output file
|
||||
///
|
||||
private String outputFile = "";
|
||||
//
|
||||
// output file
|
||||
//
|
||||
private FileArg outputFile = new FileArg();
|
||||
|
||||
///
|
||||
/// output directory, this variable is added by jave wrap
|
||||
///
|
||||
private String outputDir = "";
|
||||
//
|
||||
// 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;
|
||||
}
|
||||
|
|
|
@ -33,29 +33,33 @@ import org.tianocore.common.logger.EdkLog;
|
|||
EfiCompressTask is used to call EfiCompress.exe to strip input file.
|
||||
**/
|
||||
public class EfiCompressTask extends Task implements EfiDefine {
|
||||
// /
|
||||
// / input file
|
||||
// /
|
||||
private String inputFile = "";
|
||||
//
|
||||
//
|
||||
//
|
||||
private final static String toolName = "EfiCompress";
|
||||
//
|
||||
// input file
|
||||
//
|
||||
private FileArg inputFile = new FileArg();
|
||||
|
||||
// /
|
||||
// / output file
|
||||
// /
|
||||
private String outputFile = "";
|
||||
//
|
||||
// output file
|
||||
//
|
||||
private FileArg outputFile = new FileArg();
|
||||
|
||||
// /
|
||||
// / output directory, this variable is added by jave wrap
|
||||
// /
|
||||
private String outputDir = "";
|
||||
//
|
||||
// output directory, this variable is added by jave wrap
|
||||
//
|
||||
private String outputDir = ".";
|
||||
|
||||
/**
|
||||
* execute
|
||||
*
|
||||
* EfiCompressTask execute function is to assemble tool command line & execute
|
||||
* tool command line
|
||||
*
|
||||
* @throws BuidException
|
||||
*/
|
||||
execute
|
||||
|
||||
EfiCompressTask execute function is to assemble tool command line & execute
|
||||
tool command line
|
||||
|
||||
@throws BuidException
|
||||
**/
|
||||
public void execute() throws BuildException {
|
||||
|
||||
Project project = this.getOwningTarget().getProject();
|
||||
|
@ -67,20 +71,14 @@ public class EfiCompressTask extends Task implements EfiDefine {
|
|||
String command;
|
||||
String argument;
|
||||
if (path == null) {
|
||||
command = "EfiCompress";
|
||||
command = toolName;
|
||||
} else {
|
||||
command = path + File.separatorChar + "EfiCompress";
|
||||
command = path + File.separator + toolName;
|
||||
}
|
||||
//
|
||||
// argument of tools
|
||||
//
|
||||
File file = new File(outputFile);
|
||||
if (!file.isAbsolute() && (!this.outputDir.equalsIgnoreCase(""))) {
|
||||
argument = inputFile + " " + outputDir + File.separatorChar
|
||||
+ outputFile;
|
||||
} else {
|
||||
argument = inputFile + " " + outputFile;
|
||||
}
|
||||
argument = "" + inputFile + outputFile;
|
||||
//
|
||||
// return value of fwimage execution
|
||||
//
|
||||
|
@ -97,25 +95,27 @@ public class EfiCompressTask 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.inputFile)).getName());
|
||||
EdkLog.log(this, EdkLog.EDK_INFO, this.inputFile.toFileList() + " => "
|
||||
+ this.outputFile.toFileList());
|
||||
|
||||
revl = runner.execute();
|
||||
|
||||
if (EFI_SUCCESS == revl) {
|
||||
//
|
||||
// command execution success
|
||||
//
|
||||
EdkLog.log(this, EdkLog.EDK_VERBOSE, "EfiCompress 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("EfiCompress failed!");
|
||||
throw new BuildException(toolName + " failed!");
|
||||
|
||||
}
|
||||
} catch (Exception e) {
|
||||
|
@ -124,70 +124,70 @@ public class EfiCompressTask extends Task implements EfiDefine {
|
|||
}
|
||||
|
||||
/**
|
||||
* getInputFile
|
||||
*
|
||||
* This function is to get class member "inputFile".
|
||||
*
|
||||
* @return string of input file name.
|
||||
*/
|
||||
getInputFile
|
||||
|
||||
This function is to get class member "inputFile".
|
||||
|
||||
@return string of input file name.
|
||||
**/
|
||||
public String getInputFile() {
|
||||
return inputFile;
|
||||
return inputFile.getValue();
|
||||
}
|
||||
|
||||
/**
|
||||
* setComponentType
|
||||
*
|
||||
* This function is to set class member "inputFile".
|
||||
*
|
||||
* @param inputFile
|
||||
* string of input file name.
|
||||
*/
|
||||
setComponentType
|
||||
|
||||
This function is to set class member "inputFile".
|
||||
|
||||
@param inputFile
|
||||
string of input file name.
|
||||
**/
|
||||
public void setInputFile(String inputFile) {
|
||||
this.inputFile = inputFile;
|
||||
this.inputFile.setArg(" ", inputFile);
|
||||
}
|
||||
|
||||
/**
|
||||
* 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;
|
||||
}
|
||||
|
|
|
@ -23,92 +23,95 @@ import java.util.Iterator;
|
|||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.tools.ant.Task;
|
||||
import org.apache.tools.ant.Project;
|
||||
import org.apache.tools.ant.BuildException;
|
||||
|
||||
import org.apache.tools.ant.Project;
|
||||
import org.apache.tools.ant.Task;
|
||||
import org.tianocore.common.logger.EdkLog;
|
||||
import org.apache.tools.ant.taskdefs.Execute;
|
||||
import org.apache.tools.ant.taskdefs.LogStreamHandler;
|
||||
import org.apache.tools.ant.types.Commandline;
|
||||
|
||||
import com.sun.org.apache.bcel.internal.generic.NEW;
|
||||
|
||||
/**
|
||||
* SecFixupTask class.
|
||||
*
|
||||
* SecFixupTask is used to call SecFixup.exe to fix up sec image.
|
||||
*/
|
||||
SecFixupTask class.
|
||||
|
||||
SecFixupTask is used to call SecFixup.exe to fix up sec image.
|
||||
**/
|
||||
public class EfiRomTask extends Task implements EfiDefine {
|
||||
///
|
||||
/// tool name
|
||||
///
|
||||
private final String toolName = "EfiRom";
|
||||
//
|
||||
// tool name
|
||||
//
|
||||
private final static String toolName = "EfiRom";
|
||||
|
||||
///
|
||||
/// Flash default file
|
||||
///
|
||||
private String verbose = "";
|
||||
//
|
||||
// Flash default file
|
||||
//
|
||||
private ToolArg verbose = new ToolArg();
|
||||
|
||||
///
|
||||
/// Flash device
|
||||
///
|
||||
private String venderId = "";
|
||||
//
|
||||
// Flash device
|
||||
//
|
||||
private ToolArg venderId = new ToolArg();
|
||||
|
||||
///
|
||||
/// Flash device Image
|
||||
///
|
||||
private String deviceId = "";
|
||||
//
|
||||
// Flash device Image
|
||||
//
|
||||
private ToolArg deviceId = new ToolArg();
|
||||
|
||||
///
|
||||
/// MCI file
|
||||
///
|
||||
private String outputFile = "";
|
||||
//
|
||||
// output file
|
||||
//
|
||||
private FileArg outputFile = new FileArg();
|
||||
|
||||
///
|
||||
/// MCO file
|
||||
///
|
||||
private List<Input> binaryFileList = new ArrayList<Input>();
|
||||
//
|
||||
// binary file
|
||||
//
|
||||
private Input binaryFileList = new Input();
|
||||
|
||||
///
|
||||
/// Efi PE32 image file
|
||||
///
|
||||
private List<Input> pe32FileList = new ArrayList<Input>();
|
||||
//
|
||||
// Efi PE32 image file
|
||||
//
|
||||
private Input pe32FileList = new Input();
|
||||
|
||||
///
|
||||
/// Compress efi PE32 image file
|
||||
///
|
||||
private List<Input> pe32ComprFileList = new ArrayList<Input>();
|
||||
//
|
||||
// Compress efi PE32 image file
|
||||
//
|
||||
private Input pe32ComprFileList = new Input();
|
||||
|
||||
///
|
||||
/// Hex class code in the PCI data strutor header
|
||||
///
|
||||
private String classCode = "";
|
||||
//
|
||||
// Hex class code in the PCI data strutor header
|
||||
//
|
||||
private ToolArg classCode = new ToolArg();
|
||||
|
||||
///
|
||||
/// Hex revision in the PCI data header.
|
||||
///
|
||||
private String revision = "";
|
||||
//
|
||||
// Hex revision in the PCI data header.
|
||||
//
|
||||
private ToolArg revision = new ToolArg();
|
||||
|
||||
///
|
||||
/// Dump the headers of an existing option rom image.
|
||||
///
|
||||
private String dump = "";
|
||||
//
|
||||
// Dump the headers of an existing option rom image.
|
||||
//
|
||||
private ToolArg dump = new ToolArg();
|
||||
|
||||
|
||||
///
|
||||
/// output directory
|
||||
///
|
||||
//
|
||||
// output directory
|
||||
//
|
||||
private String outputDir = ".";
|
||||
|
||||
|
||||
///
|
||||
/// command and argument list
|
||||
///
|
||||
//
|
||||
// command and argument list
|
||||
//
|
||||
LinkedList<String> argList = new LinkedList<String>();
|
||||
|
||||
/**
|
||||
* execute
|
||||
*
|
||||
* EfiRomTask execute function is to assemble tool command line & execute
|
||||
* tool command line
|
||||
*
|
||||
* @throws BuidException
|
||||
*/
|
||||
execute
|
||||
|
||||
EfiRomTask execute function is to assemble tool command line & execute
|
||||
tool command line
|
||||
|
||||
@throws BuidException
|
||||
**/
|
||||
public void execute() throws BuildException {
|
||||
|
||||
Project project = this.getOwningTarget().getProject();
|
||||
|
@ -121,294 +124,259 @@ public class EfiRomTask extends Task implements EfiDefine {
|
|||
if (path == null) {
|
||||
command = toolName;
|
||||
} else {
|
||||
command = path + File.separatorChar + toolName;
|
||||
}
|
||||
argList.addFirst(command);
|
||||
|
||||
//
|
||||
// add microcode binary files
|
||||
//
|
||||
if (this.binaryFileList.size() > 0){
|
||||
argList.add("-b");
|
||||
Iterator binList = this.binaryFileList.iterator();
|
||||
while (binList.hasNext()){
|
||||
argList.addAll(((Input)binList.next()).getNameList());
|
||||
}
|
||||
command = path + File.separator + toolName;
|
||||
}
|
||||
|
||||
//
|
||||
// add pe32 file
|
||||
//
|
||||
if (this.pe32FileList.size() > 0){
|
||||
argList.add("-e");
|
||||
Iterator pe32List = this.pe32FileList.iterator();
|
||||
while (pe32List.hasNext()){
|
||||
argList.addAll(((Input)pe32List.next()).getNameList());
|
||||
}
|
||||
}
|
||||
String argument = "" + verbose + venderId + deviceId + dump + revision + classCode
|
||||
+ binaryFileList.toStringWithSinglepPrefix(" -b ")
|
||||
+ pe32FileList.toStringWithSinglepPrefix(" -e ")
|
||||
+ pe32ComprFileList.toStringWithSinglepPrefix(" -ec ")
|
||||
+ outputFile;
|
||||
|
||||
//
|
||||
// add compressed pe32 file
|
||||
//
|
||||
if (this.pe32ComprFileList.size() > 0){
|
||||
argList.add("-ec");
|
||||
Iterator pe32ComprList = this.pe32ComprFileList.iterator();
|
||||
while (pe32ComprList.hasNext()){
|
||||
argList.addAll(((Input)pe32ComprList.next()).getNameList());
|
||||
}
|
||||
}
|
||||
|
||||
EdkLog.log(this, EdkLog.EDK_VERBOSE, argList.toString().replaceAll(",",""));
|
||||
EdkLog.log(this, EdkLog.EDK_INFO, " ");
|
||||
|
||||
//
|
||||
// lauch the program
|
||||
//
|
||||
ProcessBuilder pb = new ProcessBuilder(argList);
|
||||
pb.directory(new File(outputDir));
|
||||
int exitCode = 0;
|
||||
try {
|
||||
Process cmdProc = pb.start();
|
||||
InputStreamReader cmdOut = new InputStreamReader(cmdProc.getInputStream());
|
||||
char[] buf = new char[1024];
|
||||
Commandline cmdline = new Commandline();
|
||||
cmdline.setExecutable(command);
|
||||
cmdline.createArgument().setLine(argument);
|
||||
|
||||
exitCode = cmdProc.waitFor();
|
||||
LogStreamHandler streamHandler = new LogStreamHandler(this,
|
||||
Project.MSG_INFO, Project.MSG_WARN);
|
||||
Execute runner = new Execute(streamHandler, null);
|
||||
|
||||
runner.setAntRun(project);
|
||||
runner.setCommandline(cmdline.getCommandline());
|
||||
runner.setWorkingDirectory(new File(outputDir));
|
||||
|
||||
EdkLog.log(this, EdkLog.EDK_VERBOSE, Commandline.toString(cmdline.getCommandline()));
|
||||
EdkLog.log(this, EdkLog.EDK_INFO, binaryFileList.toFileList()
|
||||
+ pe32FileList.toFileList() + pe32ComprFileList.toFileList()
|
||||
+ " => " + outputFile.toFileList());
|
||||
|
||||
int exitCode = runner.execute();
|
||||
if (exitCode != 0) {
|
||||
int len = cmdOut.read(buf, 0, 1024);
|
||||
EdkLog.log(EdkLog.EDK_INFO, new String(buf, 0, len));
|
||||
//
|
||||
// command execution fail
|
||||
//
|
||||
EdkLog.log(this, "ERROR = " + Integer.toHexString(exitCode));
|
||||
throw new BuildException(toolName + " failed!");
|
||||
} else {
|
||||
EdkLog.log(EdkLog.EDK_VERBOSE, "EfiRom succeeded!");
|
||||
EdkLog.log(this, EdkLog.EDK_VERBOSE, toolName + " succeeded!");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
throw new BuildException(e.getMessage());
|
||||
} finally {
|
||||
if (exitCode != 0) {
|
||||
throw new BuildException("EfiRom failed!");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* getVerbose
|
||||
*
|
||||
* This function is to get class member "verbose"
|
||||
*
|
||||
* @return verbose for verbose output.
|
||||
*/
|
||||
getVerbose
|
||||
|
||||
This function is to get class member "verbose"
|
||||
|
||||
@return verbose for verbose output.
|
||||
**/
|
||||
public String getVerbose() {
|
||||
return verbose;
|
||||
return verbose.getValue();
|
||||
}
|
||||
|
||||
/**
|
||||
* setVerbose
|
||||
*
|
||||
* This function is to set class member "verbose"
|
||||
*
|
||||
* @param verbose for verbose output.
|
||||
*/
|
||||
setVerbose
|
||||
|
||||
This function is to set class member "verbose"
|
||||
|
||||
@param verbose for verbose output.
|
||||
**/
|
||||
public void setVerbose(boolean verbose) {
|
||||
if (verbose){
|
||||
this.verbose = "-p";
|
||||
argList.add(this.verbose);
|
||||
this.verbose.setArg(" -", "p");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* getVenderId
|
||||
*
|
||||
* This function is to get class member "venderId"
|
||||
*
|
||||
* @return venderId String of venderId.
|
||||
*/
|
||||
getVenderId
|
||||
|
||||
This function is to get class member "venderId"
|
||||
|
||||
@return venderId String of venderId.
|
||||
**/
|
||||
public String getVenderId() {
|
||||
return venderId;
|
||||
return venderId.getValue();
|
||||
}
|
||||
|
||||
/**
|
||||
* setVenderId
|
||||
*
|
||||
* This function is to set class member "venderId"
|
||||
*
|
||||
* @param venderId String of venderId.
|
||||
*/
|
||||
public void setVenderId(String VenderId) {
|
||||
this.venderId = VenderId;
|
||||
argList.add("-v");
|
||||
argList.add(this.venderId);
|
||||
setVenderId
|
||||
|
||||
This function is to set class member "venderId"
|
||||
|
||||
@param venderId String of venderId.
|
||||
**/
|
||||
public void setVenderId(String venderId) {
|
||||
this.venderId.setArg(" -v ", venderId);
|
||||
}
|
||||
|
||||
/**
|
||||
* getDeviceId
|
||||
*
|
||||
* This function is to get class member "deviceId"
|
||||
*
|
||||
* @return deviceId String of device ID.
|
||||
*/
|
||||
getDeviceId
|
||||
|
||||
This function is to get class member "deviceId"
|
||||
|
||||
@return deviceId String of device ID.
|
||||
**/
|
||||
public String getDeviceId() {
|
||||
return this.deviceId;
|
||||
return this.deviceId.getValue();
|
||||
}
|
||||
|
||||
/**
|
||||
* setDeviceId
|
||||
*
|
||||
* This function is to set class member "deviceId"
|
||||
*
|
||||
* @param deviceId String of device ID.
|
||||
*/
|
||||
setDeviceId
|
||||
|
||||
This function is to set class member "deviceId"
|
||||
|
||||
@param deviceId String of device ID.
|
||||
**/
|
||||
public void setDeviceId(String deviceId) {
|
||||
this.deviceId = deviceId;
|
||||
argList.add("-d");
|
||||
argList.add(this.deviceId);
|
||||
this.deviceId.setArg(" -d ", deviceId);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* getOutputFile
|
||||
*
|
||||
* This function is to get class member "outputFile"
|
||||
*
|
||||
* @return outputFile name of output directory.
|
||||
*/
|
||||
getOutputFile
|
||||
|
||||
This function is to get class member "outputFile"
|
||||
|
||||
@return outputFile name of output directory.
|
||||
**/
|
||||
public String getOutputFile() {
|
||||
return outputFile;
|
||||
return outputFile.getValue();
|
||||
}
|
||||
|
||||
/**
|
||||
* setOutputFile
|
||||
*
|
||||
* This function is to set class member "dscFile"
|
||||
*
|
||||
* @param outputFile name of DSC file
|
||||
*/
|
||||
setOutputFile
|
||||
|
||||
This function is to set class member "dscFile"
|
||||
|
||||
@param outputFile name of DSC file
|
||||
**/
|
||||
public void setOutputFile(String outputFile) {
|
||||
this.outputFile = outputFile;
|
||||
|
||||
this.outputFile.setArg(" -o ", outputFile);
|
||||
}
|
||||
|
||||
/**
|
||||
* getClassCode
|
||||
*
|
||||
* This function is to get class member "classCode"
|
||||
*
|
||||
* @return fdImage name of class code file.
|
||||
*/
|
||||
getClassCode
|
||||
|
||||
This function is to get class member "classCode"
|
||||
|
||||
@return fdImage name of class code file.
|
||||
**/
|
||||
public String getClassCode() {
|
||||
return classCode;
|
||||
return classCode.getValue();
|
||||
}
|
||||
|
||||
/**
|
||||
* setclassCode
|
||||
*
|
||||
* This function is to set class member "classCode"
|
||||
*
|
||||
* @param fdImage name of class code file.
|
||||
*/
|
||||
setclassCode
|
||||
|
||||
This function is to set class member "classCode"
|
||||
|
||||
@param fdImage name of class code file.
|
||||
**/
|
||||
public void setclassCode(String classCode) {
|
||||
this.classCode = classCode;
|
||||
argList.add("-cc");
|
||||
argList.add(this.classCode);
|
||||
this.classCode.setArg(" -cc ", classCode);
|
||||
}
|
||||
|
||||
/**
|
||||
* getRevision
|
||||
*
|
||||
* This function is to get class member "revision".
|
||||
*
|
||||
* @return revision hex revision in the PDI data header.
|
||||
*/
|
||||
getRevision
|
||||
|
||||
This function is to get class member "revision".
|
||||
|
||||
@return revision hex revision in the PDI data header.
|
||||
**/
|
||||
public String getRevision() {
|
||||
return revision;
|
||||
return revision.getValue();
|
||||
}
|
||||
|
||||
/**
|
||||
* setRevision
|
||||
*
|
||||
* This function is to set class member "revision"
|
||||
*
|
||||
* @param revision hex revision in the PDI data header.
|
||||
*/
|
||||
setRevision
|
||||
|
||||
This function is to set class member "revision"
|
||||
|
||||
@param revision hex revision in the PDI data header.
|
||||
**/
|
||||
public void setRevision(String revision) {
|
||||
this.revision = revision;
|
||||
argList.add("-rev");
|
||||
argList.add(this.revision);
|
||||
this.revision.setArg(" -rev ", revision);
|
||||
}
|
||||
|
||||
/**
|
||||
* getFlashDeviceImage
|
||||
*
|
||||
* This function is to get class member "dump"
|
||||
*
|
||||
* @return flashDeviceImage name of flash device image
|
||||
*/
|
||||
getFlashDeviceImage
|
||||
|
||||
This function is to get class member "dump"
|
||||
|
||||
@return flashDeviceImage name of flash device image
|
||||
**/
|
||||
public String getDump() {
|
||||
return dump;
|
||||
return dump.getValue();
|
||||
}
|
||||
|
||||
/**
|
||||
* setFlashDeviceImage
|
||||
*
|
||||
* This function is to set class member "dump"
|
||||
*
|
||||
* @param flashDeviceImage name of flash device image
|
||||
*/
|
||||
setFlashDeviceImage
|
||||
|
||||
This function is to set class member "dump"
|
||||
|
||||
@param flashDeviceImage name of flash device image
|
||||
**/
|
||||
public void setDump(boolean dump) {
|
||||
if (dump){
|
||||
this.dump = "-dump";
|
||||
argList.add(this.dump);
|
||||
if (dump) {
|
||||
this.dump.setArg(" -", "dump");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 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;
|
||||
}
|
||||
|
||||
/**
|
||||
* addBinaryFile
|
||||
*
|
||||
* This function is to add binary file to binaryFile list.
|
||||
*
|
||||
* @param binaryFile name of binary file.
|
||||
*/
|
||||
public void addBinaryFile(Input binaryFile){
|
||||
this.binaryFileList.add(binaryFile);
|
||||
addBinaryFile
|
||||
|
||||
This function is to add binary file to binaryFile list.
|
||||
|
||||
@param binaryFile name of binary file.
|
||||
**/
|
||||
public void addConfiguredBinaryFile(Input binaryFile){
|
||||
this.binaryFileList.insert(binaryFile);
|
||||
}
|
||||
|
||||
/**
|
||||
* addPe32File
|
||||
*
|
||||
* This function is to add pe32 file to pe32File list.
|
||||
*
|
||||
* @param pe32File name of pe32 file.
|
||||
*/
|
||||
public void addPe32File(Input pe32File){
|
||||
this.pe32FileList.add(pe32File);
|
||||
addPe32File
|
||||
|
||||
This function is to add pe32 file to pe32File list.
|
||||
|
||||
@param pe32File name of pe32 file.
|
||||
**/
|
||||
public void addConfiguredPe32File(Input pe32File){
|
||||
this.pe32FileList.insert(pe32File);
|
||||
}
|
||||
|
||||
/**
|
||||
* addPe32ComprFile
|
||||
*
|
||||
* This function os to add compressed pe32 file to pe32ComprFile list.
|
||||
*
|
||||
* @param pe32ComprFile name of compressed pe32 file.
|
||||
*/
|
||||
public void addPe32ComprFile(Input pe32ComprFile){
|
||||
this.pe32ComprFileList.add(pe32ComprFile);
|
||||
addPe32ComprFile
|
||||
|
||||
This function os to add compressed pe32 file to pe32ComprFile list.
|
||||
|
||||
@param pe32ComprFile name of compressed pe32 file.
|
||||
**/
|
||||
public void addConfiguredPe32ComprFile(Input pe32ComprFile){
|
||||
this.pe32ComprFileList.insert(pe32ComprFile);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,72 +0,0 @@
|
|||
/** @file
|
||||
FileParser class.
|
||||
|
||||
FileParser class is to parse file which contains the list of file name and
|
||||
add those files to list.
|
||||
|
||||
|
||||
Copyright (c) 2006, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
package org.tianocore.framework.tasks;
|
||||
import java.io.*;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.tools.ant.BuildException;
|
||||
import org.apache.tools.ant.Project;
|
||||
|
||||
/**
|
||||
FileParser class.
|
||||
|
||||
FileParser class is to parse file which contains the list of file name and
|
||||
add those files to list.
|
||||
**/
|
||||
public class FileParser {
|
||||
/**
|
||||
loadFile
|
||||
|
||||
This function is to add files to array from input file which contains the
|
||||
files list.
|
||||
@param project The current project.
|
||||
@param list File array.
|
||||
@param file File which contains the file list.
|
||||
@param tag Target of architecture.
|
||||
@throws BuildException
|
||||
**/
|
||||
public static synchronized void loadFile(Project project, List<Object> list, File file, String tag) throws BuildException{
|
||||
FileReader fileReader;
|
||||
BufferedReader in;
|
||||
String str;
|
||||
|
||||
if (!file.exists()) {
|
||||
throw new BuildException("The file, " + file + " does not exist!");
|
||||
}
|
||||
try {
|
||||
fileReader = new FileReader(file);
|
||||
in = new BufferedReader(fileReader);
|
||||
while((str=in.readLine())!= null){
|
||||
if (str.trim()==""){
|
||||
continue;
|
||||
}
|
||||
str = project.replaceProperties(str);
|
||||
if (str.trim().substring(0,2).equalsIgnoreCase(tag)) {
|
||||
list.add(str.trim());
|
||||
} else {
|
||||
list.add(tag + " " + str.trim());
|
||||
}
|
||||
|
||||
}
|
||||
} catch (Exception e){
|
||||
System.out.println(e.getMessage());
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -16,6 +16,8 @@
|
|||
**/
|
||||
package org.tianocore.framework.tasks;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
import org.apache.tools.ant.BuildException;
|
||||
import org.apache.tools.ant.Project;
|
||||
import org.apache.tools.ant.Task;
|
||||
|
@ -52,11 +54,6 @@ public class FwImageTask extends Task implements EfiDefine {
|
|||
//
|
||||
private ToolArg componentType = new ToolArg();
|
||||
|
||||
/**
|
||||
* assemble tool command line & execute tool command line
|
||||
*
|
||||
* @throws BuildException
|
||||
*/
|
||||
/**
|
||||
execute
|
||||
|
||||
|
@ -76,7 +73,7 @@ public class FwImageTask extends Task implements EfiDefine {
|
|||
if (path == null) {
|
||||
command = toolName;
|
||||
} else {
|
||||
command = path + "/" + toolName;
|
||||
command = path + File.separator + toolName;
|
||||
}
|
||||
//
|
||||
// argument of tools
|
||||
|
|
|
@ -33,29 +33,34 @@ import org.tianocore.common.logger.EdkLog;
|
|||
GenAcpiTable is used to call GenAcpiTable.exe to generate ACPI Table image .
|
||||
**/
|
||||
public class GenAcpiTableTask extends Task implements EfiDefine {
|
||||
// /
|
||||
// / input file
|
||||
// /
|
||||
private String inputFile = "";
|
||||
//
|
||||
// Tool name
|
||||
//
|
||||
private static String toolName = "GenAcpiTable";
|
||||
|
||||
// /
|
||||
// / output file
|
||||
// /
|
||||
private String outputFile = "";
|
||||
//
|
||||
// input file
|
||||
//
|
||||
private FileArg inputFile = new FileArg();
|
||||
|
||||
// /
|
||||
// / output directory, this variable is added by jave wrap
|
||||
// /
|
||||
private String outputDir = "";
|
||||
//
|
||||
// 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();
|
||||
|
@ -66,20 +71,15 @@ public class GenAcpiTableTask extends Task implements EfiDefine {
|
|||
String command;
|
||||
String argument;
|
||||
if (path == null) {
|
||||
command = "GenAcpiTable";
|
||||
command = toolName;
|
||||
} else {
|
||||
command = path + File.separatorChar + "GenAcpiTable";
|
||||
command = path + File.separator + toolName;
|
||||
}
|
||||
//
|
||||
// argument of tools
|
||||
//
|
||||
File file = new File(outputFile);
|
||||
if (!file.isAbsolute() && (!this.outputDir.equalsIgnoreCase(""))) {
|
||||
argument = inputFile + " " + outputDir + File.separatorChar
|
||||
+ outputFile;
|
||||
} else {
|
||||
argument = inputFile + " " + outputFile;
|
||||
}
|
||||
argument = "" + inputFile + outputFile;
|
||||
|
||||
//
|
||||
// return value of fwimage execution
|
||||
//
|
||||
|
@ -96,24 +96,27 @@ public class GenAcpiTableTask 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.inputFile)).getName());
|
||||
revl = runner.execute();
|
||||
EdkLog.log(this, EdkLog.EDK_INFO, this.inputFile.toFileList() + " => "
|
||||
+ this.outputFile.toFileList());
|
||||
|
||||
revl = runner.execute();
|
||||
if (EFI_SUCCESS == revl) {
|
||||
//
|
||||
// command execution success
|
||||
//
|
||||
EdkLog.log(this, EdkLog.EDK_VERBOSE, "GenAcpiTable 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("GenAcpiTable failed!");
|
||||
throw new BuildException(toolName + " failed!");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
throw new BuildException(e.getMessage());
|
||||
|
@ -121,70 +124,70 @@ public class GenAcpiTableTask extends Task implements EfiDefine {
|
|||
}
|
||||
|
||||
/**
|
||||
* getInputFile
|
||||
*
|
||||
* This function is to get class member "inputFile".
|
||||
*
|
||||
* @return string of input file name.
|
||||
*/
|
||||
getInputFile
|
||||
|
||||
This function is to get class member "inputFile".
|
||||
|
||||
@return string of input file name.
|
||||
**/
|
||||
public String getInputFile() {
|
||||
return inputFile;
|
||||
return inputFile.getValue();
|
||||
}
|
||||
|
||||
/**
|
||||
* setComponentType
|
||||
*
|
||||
* This function is to set class member "inputFile".
|
||||
*
|
||||
* @param inputFile
|
||||
* string of input file name.
|
||||
*/
|
||||
setComponentType
|
||||
|
||||
This function is to set class member "inputFile".
|
||||
|
||||
@param inputFile
|
||||
string of input file name.
|
||||
**/
|
||||
public void setInputFile(String inputFile) {
|
||||
this.inputFile = inputFile;
|
||||
this.inputFile.setArg(" ", inputFile);
|
||||
}
|
||||
|
||||
/**
|
||||
* 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;
|
||||
}
|
||||
|
|
|
@ -16,14 +16,17 @@
|
|||
|
||||
package org.tianocore.framework.tasks;
|
||||
|
||||
import java.util.*;
|
||||
import java.io.File;
|
||||
|
||||
import org.apache.tools.ant.BuildException;
|
||||
import org.apache.tools.ant.Project;
|
||||
import org.apache.tools.ant.Task;
|
||||
import org.apache.tools.ant.BuildException;
|
||||
import org.apache.tools.ant.taskdefs.Execute;
|
||||
import org.apache.tools.ant.taskdefs.LogStreamHandler;
|
||||
import org.apache.tools.ant.types.Commandline;
|
||||
|
||||
import org.tianocore.common.logger.EdkLog;
|
||||
|
||||
/**
|
||||
GenCRC32SectionTask
|
||||
|
||||
|
@ -31,18 +34,22 @@ import org.apache.tools.ant.types.Commandline;
|
|||
|
||||
**/
|
||||
public class GenCRC32SectionTask extends Task implements EfiDefine {
|
||||
///
|
||||
/// output file
|
||||
///
|
||||
private String outputFile;
|
||||
///
|
||||
/// inputFile list
|
||||
///
|
||||
private List<NestElement> inputFileList = new ArrayList<NestElement>();
|
||||
//
|
||||
// Tool name
|
||||
//
|
||||
private static String toolName = "GenCRC32Section";
|
||||
//
|
||||
// output file
|
||||
//
|
||||
private FileArg outputFile = new FileArg();
|
||||
//
|
||||
// inputFile list
|
||||
//
|
||||
private InputFile inputFileList = new InputFile();
|
||||
|
||||
///
|
||||
/// Project
|
||||
///
|
||||
//
|
||||
// Project
|
||||
//
|
||||
static private Project project;
|
||||
|
||||
/**
|
||||
|
@ -62,22 +69,14 @@ public class GenCRC32SectionTask extends Task implements EfiDefine {
|
|||
String path = project.getProperty("env.FRAMEWORK_TOOLS_PATH");
|
||||
String command;
|
||||
if (path == null) {
|
||||
command = "GenCRC32Section";
|
||||
command = toolName;
|
||||
} else {
|
||||
command = path + "/" + "GenCRC32Section" ;
|
||||
command = path + File.separator + toolName ;
|
||||
}
|
||||
//
|
||||
// string line of input files
|
||||
//
|
||||
String inputFiles = " -i ";
|
||||
for (int i = 0; i < inputFileList.size(); ++i) {
|
||||
inputFiles += inputFileList.get(i).toString(" ");
|
||||
}
|
||||
|
||||
//
|
||||
// assemble argument
|
||||
//
|
||||
String argument = inputFiles + outputFile;
|
||||
String argument = "" + inputFileList.toStringWithSinglepPrefix(" -i ") + outputFile;
|
||||
//
|
||||
// return value of fwimage execution
|
||||
//
|
||||
|
@ -93,21 +92,23 @@ public class GenCRC32SectionTask extends Task implements EfiDefine {
|
|||
|
||||
runner.setAntRun(project);
|
||||
runner.setCommandline(cmdline.getCommandline());
|
||||
log(Commandline.toString(cmdline.getCommandline()), Project.MSG_VERBOSE);
|
||||
log(" ");
|
||||
|
||||
EdkLog.log(this, EdkLog.EDK_VERBOSE, Commandline.toString(cmdline.getCommandline()));
|
||||
EdkLog.log(this, inputFileList.toFileList() + " => " + outputFile.toFileList());
|
||||
|
||||
revl = runner.execute();
|
||||
if (EFI_SUCCESS == revl){
|
||||
//
|
||||
// command execution success
|
||||
//
|
||||
log("GenCRC32Section succeeded!", Project.MSG_VERBOSE);
|
||||
EdkLog.log(this, toolName + " succeeded!");
|
||||
} else {
|
||||
//
|
||||
// command execution fail
|
||||
//
|
||||
log("ERROR = " + Integer.toHexString(revl));
|
||||
EdkLog.log(this, "ERROR = " + Integer.toHexString(revl));
|
||||
// LAH Added This Line
|
||||
throw new BuildException("GenCRC32Section failed!");
|
||||
throw new BuildException(toolName + " failed!");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
throw new BuildException(e.getMessage());
|
||||
|
@ -120,22 +121,22 @@ public class GenCRC32SectionTask extends Task implements EfiDefine {
|
|||
This function is to add a inputFile element into list
|
||||
@param inputFile : inputFile element
|
||||
**/
|
||||
public void addInputfile(InputFile inputFile) {
|
||||
inputFileList.add(inputFile);
|
||||
public void addConfiguredInputfile(InputFile inputFile) {
|
||||
inputFileList.insert(inputFile);
|
||||
}
|
||||
|
||||
/**
|
||||
get class member "outputFile"
|
||||
* @return name of output file
|
||||
*/
|
||||
@return name of output file
|
||||
**/
|
||||
public String getOutputFile() {
|
||||
return this.outputFile;
|
||||
return this.outputFile.getValue();
|
||||
}
|
||||
/**
|
||||
* set class member "outputFile"
|
||||
* @param outputFile : outputFile parameter
|
||||
*/
|
||||
set class member "outputFile"
|
||||
@param outputFile : outputFile parameter
|
||||
**/
|
||||
public void setOutputFile(String outputFile) {
|
||||
this.outputFile = " -o " + outputFile;
|
||||
this.outputFile.setArg(" -o ", outputFile);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -33,60 +33,60 @@ import org.tianocore.common.logger.EdkLog;
|
|||
GenCapsuleHdrTask is used to call GenCapsuleHdr.exe to generate capsule.
|
||||
**/
|
||||
public class GenCapsuleHdrTask extends Task implements EfiDefine {
|
||||
///
|
||||
/// tool name
|
||||
///
|
||||
//
|
||||
// tool name
|
||||
//
|
||||
private String toolName = "GenCapsuleHdr";
|
||||
|
||||
///
|
||||
/// script file
|
||||
///
|
||||
private String scriptFile = "";
|
||||
//
|
||||
// script file
|
||||
//
|
||||
private FileArg scriptFile = new FileArg();
|
||||
|
||||
///
|
||||
/// output file
|
||||
///
|
||||
private String outputFile = "";
|
||||
//
|
||||
// output file
|
||||
//
|
||||
private FileArg outputFile = new FileArg();
|
||||
|
||||
///
|
||||
/// output directory, this variable is added by jave wrap
|
||||
///
|
||||
private String outputDir = "";
|
||||
//
|
||||
// output directory, this variable is added by jave wrap
|
||||
//
|
||||
private String outputDir = ".";
|
||||
|
||||
///
|
||||
/// Verbose flag
|
||||
///
|
||||
private String verbose = "";
|
||||
//
|
||||
// Verbose flag
|
||||
//
|
||||
private ToolArg verbose = new ToolArg();
|
||||
|
||||
///
|
||||
/// Dump flag
|
||||
///
|
||||
private String dump = "";
|
||||
//
|
||||
// Dump flag
|
||||
//
|
||||
private ToolArg dump = new ToolArg();
|
||||
|
||||
///
|
||||
/// Split size
|
||||
///
|
||||
private String size = "";
|
||||
//
|
||||
// Split size
|
||||
//
|
||||
private ToolArg size = new ToolArg();
|
||||
|
||||
///
|
||||
/// capsule into one image flag
|
||||
///
|
||||
private String joinFlag = "";
|
||||
//
|
||||
// capsule into one image flag
|
||||
//
|
||||
private ToolArg joinFlag = new ToolArg();
|
||||
|
||||
///
|
||||
/// capsule file
|
||||
///
|
||||
private String capsuleFile = "";
|
||||
//
|
||||
// capsule file
|
||||
//
|
||||
private FileArg capsuleFile = new FileArg();
|
||||
|
||||
|
||||
/**
|
||||
* execute
|
||||
*
|
||||
* GenCapsuleHdrTask execute function is to assemble tool command line & execute
|
||||
* tool command line
|
||||
*
|
||||
* @throws BuidException
|
||||
*/
|
||||
execute
|
||||
|
||||
GenCapsuleHdrTask execute function is to assemble tool command line & execute
|
||||
tool command line
|
||||
|
||||
@throws BuidException
|
||||
**/
|
||||
public void execute() throws BuildException {
|
||||
|
||||
Project project = this.getOwningTarget().getProject();
|
||||
|
@ -99,20 +99,14 @@ public class GenCapsuleHdrTask 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 = this.verbose + this.dump + "-o " +this.outputDir
|
||||
+ File.separatorChar + this.outputFile + " "
|
||||
+ this.scriptFile + " " + this.size + " " + this.joinFlag + this.capsuleFile;
|
||||
} else {
|
||||
argument = this.verbose + this.dump + "-o " + this.outputFile
|
||||
+ " " + this.scriptFile + " " + this.size + " " + this.joinFlag + this.capsuleFile;
|
||||
}
|
||||
argument = "" + this.verbose + this.dump + this.outputFile
|
||||
+ this.scriptFile + this.size + this.joinFlag + this.capsuleFile;
|
||||
|
||||
//
|
||||
// return value of fwimage execution
|
||||
//
|
||||
|
@ -129,24 +123,27 @@ public class GenCapsuleHdrTask 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(scriptFile)).getName());
|
||||
revl = runner.execute();
|
||||
EdkLog.log(this, EdkLog.EDK_INFO, scriptFile.toFileList() + " => " +
|
||||
outputFile.toFileList() + capsuleFile.toFileList());
|
||||
|
||||
revl = runner.execute();
|
||||
if (EFI_SUCCESS == revl) {
|
||||
//
|
||||
// command execution success
|
||||
//
|
||||
EdkLog.log(this, EdkLog.EDK_VERBOSE, "GenCapsuleHdr succeeded!");
|
||||
EdkLog.log(this, EdkLog.EDK_VERBOSE, toolName + " succeeded!");
|
||||
} else {
|
||||
//
|
||||
// command execution fail
|
||||
//
|
||||
EdkLog.log(this, EdkLog.EDK_ERROR, "ERROR = " + Integer.toHexString(revl));
|
||||
throw new BuildException("GenCapsuleHdr failed!");
|
||||
throw new BuildException(toolName + " failed!");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
throw new BuildException(e.getMessage());
|
||||
|
@ -154,192 +151,191 @@ public class GenCapsuleHdrTask extends Task implements EfiDefine {
|
|||
}
|
||||
|
||||
/**
|
||||
* getInputFile
|
||||
*
|
||||
* This function is to get class member "scriptFile".
|
||||
*
|
||||
* @return string of input file name.
|
||||
*/
|
||||
getInputFile
|
||||
|
||||
This function is to get class member "scriptFile".
|
||||
|
||||
@return string of input file name.
|
||||
**/
|
||||
public String getScriptFile() {
|
||||
return this.scriptFile;
|
||||
return this.scriptFile.getValue();
|
||||
}
|
||||
|
||||
/**
|
||||
* setComponentType
|
||||
*
|
||||
* This function is to set class member "inputFile".
|
||||
*
|
||||
* @param inputFile
|
||||
* string of input file name.
|
||||
*/
|
||||
setComponentType
|
||||
|
||||
This function is to set class member "inputFile".
|
||||
|
||||
@param inputFile
|
||||
string of input file name.
|
||||
**/
|
||||
public void setScriptFile(String scriptFile) {
|
||||
this.scriptFile = "-script " + scriptFile;
|
||||
this.scriptFile.setArg(" -script ", scriptFile);
|
||||
}
|
||||
|
||||
/**
|
||||
* 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(" -o ", 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;
|
||||
}
|
||||
|
||||
/**
|
||||
* getVerbose
|
||||
*
|
||||
* This function is to get class member "verbose"
|
||||
*
|
||||
* @return verbose the flag of verbose.
|
||||
*/
|
||||
getVerbose
|
||||
|
||||
This function is to get class member "verbose"
|
||||
|
||||
@return verbose the flag of verbose.
|
||||
**/
|
||||
public String getVerbose() {
|
||||
return this.verbose;
|
||||
return this.verbose.getValue();
|
||||
}
|
||||
|
||||
/**
|
||||
* setVerbose
|
||||
*
|
||||
* This function is to set class member "verbose"
|
||||
*
|
||||
* @param verbose
|
||||
* True or False.
|
||||
*/
|
||||
setVerbose
|
||||
|
||||
This function is to set class member "verbose"
|
||||
|
||||
@param verbose
|
||||
True or False.
|
||||
**/
|
||||
public void setVerbose(boolean verbose) {
|
||||
if (verbose) {
|
||||
this.verbose = "-v ";
|
||||
this.verbose.setArg(" -", "v");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* getDump
|
||||
*
|
||||
* This function is to get class member "dump"
|
||||
*
|
||||
* @return verbose the flag of dump.
|
||||
*/
|
||||
getDump
|
||||
|
||||
This function is to get class member "dump"
|
||||
|
||||
@return verbose the flag of dump.
|
||||
**/
|
||||
public String getDump() {
|
||||
return dump;
|
||||
return dump.getValue();
|
||||
}
|
||||
|
||||
/**
|
||||
* setDump
|
||||
*
|
||||
* This function is to set class member "dump".
|
||||
*
|
||||
* @param dump
|
||||
* True or False.
|
||||
*/
|
||||
setDump
|
||||
|
||||
This function is to set class member "dump".
|
||||
|
||||
@param dump
|
||||
True or False.
|
||||
**/
|
||||
public void setDump(boolean dump) {
|
||||
if (dump) {
|
||||
this.dump = "-dump ";
|
||||
this.dump.setArg(" -", "dump");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* getSize
|
||||
*
|
||||
* This function is to set class member "size".
|
||||
*
|
||||
* @return size string of size value
|
||||
*/
|
||||
getSize
|
||||
|
||||
This function is to set class member "size".
|
||||
|
||||
@return size string of size value
|
||||
**/
|
||||
public String getSize() {
|
||||
return size;
|
||||
return size.getValue();
|
||||
}
|
||||
|
||||
/**
|
||||
* setSize
|
||||
*
|
||||
* This function is to set class member "size".
|
||||
*
|
||||
* @param size string of size value.
|
||||
*/
|
||||
setSize
|
||||
|
||||
This function is to set class member "size".
|
||||
|
||||
@param size string of size value.
|
||||
**/
|
||||
public void setSize(String size) {
|
||||
this.size = "-split " + size;
|
||||
this.size.setArg(" -split ", size);
|
||||
}
|
||||
|
||||
/**
|
||||
* getCapsuleFile
|
||||
*
|
||||
* This function is to get class member "capsuleFile"
|
||||
*
|
||||
* @return capsuleFile capsule file name
|
||||
*/
|
||||
getCapsuleFile
|
||||
|
||||
This function is to get class member "capsuleFile"
|
||||
|
||||
@return capsuleFile capsule file name
|
||||
**/
|
||||
public String getCapsuleFile() {
|
||||
return capsuleFile;
|
||||
return capsuleFile.getValue();
|
||||
}
|
||||
|
||||
/**
|
||||
* setCapsuleFile
|
||||
*
|
||||
* This function is to set class member "capsuleFile"
|
||||
*
|
||||
* @param capsuleFile capsule file name
|
||||
*/
|
||||
setCapsuleFile
|
||||
|
||||
This function is to set class member "capsuleFile"
|
||||
|
||||
@param capsuleFile capsule file name
|
||||
**/
|
||||
public void setCapsuleFile(String capsuleFile) {
|
||||
this.capsuleFile = capsuleFile;
|
||||
this.capsuleFile.setArg(" ", capsuleFile);
|
||||
}
|
||||
|
||||
/**
|
||||
* isJoinFlag
|
||||
*
|
||||
* This function is to get class member "joinFlag"
|
||||
*
|
||||
* @return joinFlag flag of if need to join split capsule images into
|
||||
* a single image.
|
||||
*/
|
||||
isJoinFlag
|
||||
|
||||
This function is to get class member "joinFlag"
|
||||
|
||||
@return joinFlag flag of if need to join split capsule images into
|
||||
a single image.
|
||||
**/
|
||||
public String getJoinFlag() {
|
||||
return joinFlag;
|
||||
return joinFlag.getValue();
|
||||
}
|
||||
|
||||
/**
|
||||
* setJoinFlag
|
||||
*
|
||||
* This function is to set class member "joinFlag"
|
||||
*
|
||||
* @param joinFlag flag of if need to join split capsule images into
|
||||
* a single image.
|
||||
*/
|
||||
setJoinFlag
|
||||
|
||||
This function is to set class member "joinFlag"
|
||||
|
||||
@param joinFlag flag of if need to join split capsule images into
|
||||
a single image.
|
||||
**/
|
||||
public void setJoinFlag(boolean joinFlag) {
|
||||
if (joinFlag){
|
||||
this.joinFlag = "-j ";
|
||||
this.joinFlag.setArg(" -", "j");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -12,12 +12,14 @@
|
|||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
**/
|
||||
|
||||
package org.tianocore.framework.tasks;
|
||||
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.DataOutputStream;
|
||||
import java.io.File;
|
||||
import java.io.file;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
@ -30,8 +32,11 @@ import org.apache.tools.ant.taskdefs.LogStreamHandler;
|
|||
import org.apache.tools.ant.types.Commandline;
|
||||
import org.tianocore.common.logger.EdkLog;
|
||||
|
||||
public class GenSectionTask extends Task implements EfiDefine, Section,
|
||||
FfsTypes {
|
||||
public class GenSectionTask extends Task implements EfiDefine, Section, FfsTypes {
|
||||
//
|
||||
// Tool name
|
||||
//
|
||||
private final static String toolName = "GenSection";
|
||||
//
|
||||
// inputfile name
|
||||
//
|
||||
|
@ -68,13 +73,13 @@ public class GenSectionTask extends Task implements EfiDefine, Section,
|
|||
private boolean haveTool = false;
|
||||
|
||||
/**
|
||||
* execute
|
||||
*
|
||||
* GenSectionTaks execute is to assemble tool command line & execute tool
|
||||
* command line.
|
||||
*
|
||||
* @throws BuildException
|
||||
*/
|
||||
execute
|
||||
|
||||
GenSectionTaks execute is to assemble tool command line & execute tool
|
||||
command line.
|
||||
|
||||
@throws BuildException
|
||||
**/
|
||||
public void execute() throws BuildException {
|
||||
String command;
|
||||
Project project = this.getOwningTarget().getProject();
|
||||
|
@ -83,15 +88,14 @@ public class GenSectionTask extends Task implements EfiDefine, Section,
|
|||
//
|
||||
String path = project.getProperty("env.FRAMEWORK_TOOLS_PATH");
|
||||
if (path == null) {
|
||||
command = "GenSection";
|
||||
command = toolName;
|
||||
} else {
|
||||
command = path + "/" + "GenSection";
|
||||
command = path + File.separator + toolName;
|
||||
}
|
||||
//
|
||||
// argument of tools
|
||||
//
|
||||
String argument = "" + inputFile + outputFile + sectionType
|
||||
+ versionNum + interfaceString;
|
||||
String argument = "" + inputFile + outputFile + sectionType + versionNum + interfaceString;
|
||||
//
|
||||
// return value of gensection execution
|
||||
//
|
||||
|
@ -109,21 +113,19 @@ public class GenSectionTask extends Task implements EfiDefine, Section,
|
|||
runner.setAntRun(project);
|
||||
runner.setCommandline(cmdline.getCommandline());
|
||||
|
||||
EdkLog.log(this, inputFile.toFileList() + " => "
|
||||
+ outputFile.toFileList());
|
||||
EdkLog.log(this, EdkLog.EDK_VERBOSE, Commandline.toString(cmdline
|
||||
.getCommandline()));
|
||||
EdkLog.log(this, inputFile.toFileList() + versionNum.getValue()
|
||||
+ interfaceString.getValue() + " => " + outputFile.toFileList());
|
||||
EdkLog.log(this, EdkLog.EDK_VERBOSE, Commandline.toString(cmdline.getCommandline()));
|
||||
|
||||
revl = runner.execute();
|
||||
if (EFI_SUCCESS == revl) {
|
||||
EdkLog.log(this, EdkLog.EDK_VERBOSE, "GenSection 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("GenSection failed!");
|
||||
EdkLog.log(this, EdkLog.EDK_INFO, "ERROR = " + Integer.toHexString(revl));
|
||||
throw new BuildException(toolName + " failed!");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
throw new BuildException(e.getMessage());
|
||||
|
@ -131,157 +133,144 @@ public class GenSectionTask extends Task implements EfiDefine, Section,
|
|||
}
|
||||
|
||||
/**
|
||||
* getInputFile
|
||||
*
|
||||
* This function is to get class member "inputFile".
|
||||
*
|
||||
* @return name of input file
|
||||
*/
|
||||
getInputFile
|
||||
|
||||
This function is to get class member "inputFile".
|
||||
|
||||
@return name of input file
|
||||
**/
|
||||
public String getInputFile() {
|
||||
return this.inputFile.getValue();
|
||||
}
|
||||
|
||||
/**
|
||||
* setInputFile
|
||||
*
|
||||
* This function is to set class member "inputFile".
|
||||
*
|
||||
* @param inputFile
|
||||
* name of input file
|
||||
*/
|
||||
setInputFile
|
||||
|
||||
This function is to set class member "inputFile".
|
||||
|
||||
@param inputFile name of input file
|
||||
**/
|
||||
public void setInputFile(String inputFile) {
|
||||
this.inputFile.setArg(" -i ", inputFile);
|
||||
}
|
||||
|
||||
/**
|
||||
* getOutputFile
|
||||
*
|
||||
* This function is to get class member "outputFile".
|
||||
*
|
||||
* @return name of output file
|
||||
*/
|
||||
getOutputFile
|
||||
|
||||
This function is to get class member "outputFile".
|
||||
|
||||
@return name of output file
|
||||
**/
|
||||
public String getOutputFile() {
|
||||
return this.outputFile.getValue();
|
||||
}
|
||||
|
||||
/**
|
||||
* setOutputfile
|
||||
*
|
||||
* This function is to set class member "outputFile".
|
||||
*
|
||||
* @param outputFile
|
||||
* name of output file
|
||||
*/
|
||||
setOutputfile
|
||||
|
||||
This function is to set class member "outputFile".
|
||||
@param outputFile name of output file
|
||||
**/
|
||||
public void setOutputfile(String outputFile) {
|
||||
this.outputFile.setArg(" -o ", outputFile);
|
||||
}
|
||||
|
||||
/**
|
||||
* getSectionType
|
||||
*
|
||||
* This function is to get class member "sectionType".
|
||||
*
|
||||
* @return sectoin type
|
||||
*/
|
||||
getSectionType
|
||||
|
||||
This function is to get class member "sectionType".
|
||||
|
||||
@return sectoin type
|
||||
**/
|
||||
public String getSectionType() {
|
||||
return this.sectionType.getValue();
|
||||
}
|
||||
|
||||
/**
|
||||
* setSectionType
|
||||
*
|
||||
* This function is to set class member "sectionType".
|
||||
*
|
||||
* @param sectionType
|
||||
* section type
|
||||
*/
|
||||
setSectionType
|
||||
|
||||
This function is to set class member "sectionType".
|
||||
|
||||
@param sectionType section type
|
||||
**/
|
||||
public void setSectionType(String sectionType) {
|
||||
this.sectionType.setArg(" -s ", sectionType);
|
||||
}
|
||||
|
||||
/**
|
||||
* getVersionNum
|
||||
*
|
||||
* This function is to get class member "versionNum".
|
||||
*
|
||||
* @return version number
|
||||
*/
|
||||
getVersionNum
|
||||
|
||||
This function is to get class member "versionNum".
|
||||
@return version number
|
||||
**/
|
||||
public String getVersionNum() {
|
||||
return this.versionNum.getValue();
|
||||
}
|
||||
|
||||
/**
|
||||
* setVersionNume
|
||||
*
|
||||
* This function is to set class member "versionNum".
|
||||
*
|
||||
* @param versionNum
|
||||
* version number
|
||||
*/
|
||||
setVersionNume
|
||||
|
||||
This function is to set class member "versionNum".
|
||||
@param versionNum version number
|
||||
**/
|
||||
public void setVersionNum(String versionNum) {
|
||||
this.versionNum.setArg(" -v ", versionNum);
|
||||
}
|
||||
|
||||
/**
|
||||
* getInterfaceString
|
||||
*
|
||||
* This function is to get class member "interfaceString".
|
||||
*
|
||||
* @return interface string
|
||||
*/
|
||||
getInterfaceString
|
||||
|
||||
This function is to get class member "interfaceString".
|
||||
@return interface string
|
||||
**/
|
||||
public String getInterfaceString() {
|
||||
return this.interfaceString.getValue();
|
||||
}
|
||||
|
||||
/**
|
||||
* setInterfaceString
|
||||
*
|
||||
* This funcion is to set class member "interfaceString".
|
||||
*
|
||||
* @param interfaceString
|
||||
* interface string
|
||||
*/
|
||||
setInterfaceString
|
||||
|
||||
This funcion is to set class member "interfaceString".
|
||||
@param interfaceString interface string
|
||||
**/
|
||||
public void setInterfaceString(String interfaceString) {
|
||||
this.interfaceString.setArg(" -a ", "\"" + interfaceString + "\"");
|
||||
}
|
||||
|
||||
/**
|
||||
* addSectFile
|
||||
*
|
||||
* This function is to add sectFile to list.
|
||||
*
|
||||
* @param sectFile
|
||||
* instance of sectFile.
|
||||
*/
|
||||
public void addSectFile(SectFile sectFile) {
|
||||
addSectFile
|
||||
|
||||
This function is to add sectFile to list.
|
||||
|
||||
@param sectFile instance of sectFile.
|
||||
**/
|
||||
public void addSectFile(SectFile sectFile){
|
||||
this.sectFileList.add(sectFile);
|
||||
}
|
||||
|
||||
/**
|
||||
* setTool
|
||||
*
|
||||
* This function is to set the class member "Tool";
|
||||
*
|
||||
* @param tool
|
||||
*/
|
||||
setTool
|
||||
|
||||
This function is to set the class member "Tool";
|
||||
|
||||
@param tool
|
||||
**/
|
||||
public void addTool(Tool tool) {
|
||||
this.sectFileList.add(tool);
|
||||
this.haveTool = true;
|
||||
}
|
||||
|
||||
/**
|
||||
* addGenSection
|
||||
*
|
||||
* This function is to add GenSectin element to list
|
||||
*
|
||||
* @param task
|
||||
* Instance of genSection
|
||||
*/
|
||||
public void addGenSection(GenSectionTask task) {
|
||||
addGenSection
|
||||
|
||||
This function is to add GenSectin element to list
|
||||
@param task Instance of genSection
|
||||
**/
|
||||
public void addGenSection(GenSectionTask task){
|
||||
this.sectFileList.add(task);
|
||||
}
|
||||
|
||||
public void toBuffer(DataOutputStream buffer) {
|
||||
public void toBuffer(DataOutputStream buffer){
|
||||
//
|
||||
// Search SectionList find earch section and call it's
|
||||
// ToBuffer function.
|
||||
|
|
|
@ -33,48 +33,43 @@ import org.tianocore.common.logger.EdkLog;
|
|||
* GenTeImageTask is used to call GenAcpiTable.exe to generate ACPI Table image .
|
||||
*/
|
||||
public class GenTeImageTask extends Task implements EfiDefine {
|
||||
///
|
||||
/// tool name
|
||||
///
|
||||
//
|
||||
// tool name
|
||||
//
|
||||
private String toolName = "GenTeImage";
|
||||
///
|
||||
/// input file
|
||||
///
|
||||
private String inputFile = "";
|
||||
//
|
||||
// input file
|
||||
//
|
||||
private FileArg inputFile = new FileArg();
|
||||
|
||||
///
|
||||
/// output file
|
||||
///
|
||||
private String outputFile = "";
|
||||
//
|
||||
// output file
|
||||
//
|
||||
private FileArg outputFile = new FileArg();
|
||||
|
||||
///
|
||||
/// output directory, this variable is added by jave wrap
|
||||
///
|
||||
//
|
||||
// output directory, this variable is added by jave wrap
|
||||
//
|
||||
private String outputDir = "";
|
||||
|
||||
///
|
||||
/// Verbose flag
|
||||
///
|
||||
private String verbose = "";
|
||||
//
|
||||
// Verbose flag
|
||||
//
|
||||
private ToolArg verbose = new ToolArg();
|
||||
|
||||
///
|
||||
/// Dump flag
|
||||
///
|
||||
private String dump = "";
|
||||
//
|
||||
// Dump flag
|
||||
//
|
||||
private ToolArg dump = new ToolArg();
|
||||
|
||||
/**
|
||||
* assemble tool command line & execute tool command line
|
||||
*
|
||||
* @throws BuildException
|
||||
*/
|
||||
/**
|
||||
* execute
|
||||
*
|
||||
* GenTeImgaeTask execute function is to assemble tool command line & execute
|
||||
* tool command line
|
||||
*
|
||||
* @throws BuidException
|
||||
*/
|
||||
execute
|
||||
|
||||
GenTeImgaeTask execute function is to assemble tool command line & execute
|
||||
tool command line
|
||||
|
||||
@throws BuidException
|
||||
**/
|
||||
public void execute() throws BuildException {
|
||||
|
||||
Project project = this.getOwningTarget().getProject();
|
||||
|
@ -87,20 +82,12 @@ public class GenTeImageTask 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 = this.verbose + this.dump + "-o " +this.outputDir
|
||||
+ File.separatorChar + this.outputFile + " "
|
||||
+ this.inputFile;
|
||||
} else {
|
||||
argument = this.verbose + this.dump + "-o " + this.outputFile
|
||||
+ " " + this.inputFile;
|
||||
}
|
||||
argument = "" + this.verbose + this.dump + this.outputFile + this.inputFile;
|
||||
//
|
||||
// return value of fwimage execution
|
||||
//
|
||||
|
@ -117,11 +104,14 @@ public class GenTeImageTask 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.inputFile)).getName());
|
||||
EdkLog.log(this, EdkLog.EDK_INFO, this.inputFile.toFileList()
|
||||
+ " => " + this.outputFile.toFileList());
|
||||
|
||||
revl = runner.execute();
|
||||
|
||||
|
@ -129,13 +119,13 @@ public class GenTeImageTask extends Task implements EfiDefine {
|
|||
//
|
||||
// command execution success
|
||||
//
|
||||
EdkLog.log(this, EdkLog.EDK_VERBOSE, "GenTeImage 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("GenTeImage failed!");
|
||||
throw new BuildException(toolName + " failed!");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
throw new BuildException(e.getMessage());
|
||||
|
@ -143,121 +133,121 @@ public class GenTeImageTask extends Task implements EfiDefine {
|
|||
}
|
||||
|
||||
/**
|
||||
* getInputFile
|
||||
*
|
||||
* This function is to get class member "inputFile".
|
||||
*
|
||||
* @return string of input file name.
|
||||
*/
|
||||
getInputFile
|
||||
|
||||
This function is to get class member "inputFile".
|
||||
|
||||
@return string of input file name.
|
||||
**/
|
||||
public String getInputFile() {
|
||||
return inputFile;
|
||||
return inputFile.getValue();
|
||||
}
|
||||
|
||||
/**
|
||||
* setComponentType
|
||||
*
|
||||
* This function is to set class member "inputFile".
|
||||
*
|
||||
* @param inputFile
|
||||
* string of input file name.
|
||||
*/
|
||||
setComponentType
|
||||
|
||||
This function is to set class member "inputFile".
|
||||
|
||||
@param inputFile
|
||||
string of input file name.
|
||||
**/
|
||||
public void setInputFile(String inputFile) {
|
||||
this.inputFile = inputFile;
|
||||
this.inputFile.setArg(" ", inputFile);
|
||||
}
|
||||
|
||||
/**
|
||||
* 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(" -o ", 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;
|
||||
}
|
||||
|
||||
/**
|
||||
* getVerbose
|
||||
*
|
||||
* This function is to get class member "verbose"
|
||||
*
|
||||
* @return verbose the flag of verbose.
|
||||
*/
|
||||
getVerbose
|
||||
|
||||
This function is to get class member "verbose"
|
||||
|
||||
@return verbose the flag of verbose.
|
||||
**/
|
||||
public String getVerbose() {
|
||||
return this.verbose;
|
||||
return this.verbose.getValue();
|
||||
}
|
||||
|
||||
/**
|
||||
* setVerbose
|
||||
*
|
||||
* This function is to set class member "verbose"
|
||||
*
|
||||
* @param verbose
|
||||
* True or False.
|
||||
*/
|
||||
setVerbose
|
||||
|
||||
This function is to set class member "verbose"
|
||||
|
||||
@param verbose
|
||||
True or False.
|
||||
**/
|
||||
public void setVerbose(boolean verbose) {
|
||||
if (verbose) {
|
||||
this.verbose = "-v ";
|
||||
this.verbose.setArg(" -", "v");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* getDump
|
||||
*
|
||||
* This function is to get class member "dump"
|
||||
*
|
||||
* @return verbose the flag of dump.
|
||||
*/
|
||||
getDump
|
||||
|
||||
This function is to get class member "dump"
|
||||
|
||||
@return verbose the flag of dump.
|
||||
**/
|
||||
public String getDump() {
|
||||
return dump;
|
||||
return dump.getValue();
|
||||
}
|
||||
|
||||
/**
|
||||
* setDump
|
||||
*
|
||||
* This function is to set class member "dump"
|
||||
*
|
||||
* @param dump
|
||||
* True or False.
|
||||
*/
|
||||
setDump
|
||||
|
||||
This function is to set class member "dump"
|
||||
|
||||
@param dump
|
||||
True or False.
|
||||
**/
|
||||
public void setDump(boolean dump) {
|
||||
if (dump) {
|
||||
this.dump = "-dump ";
|
||||
this.dump.setArg(" -", "dump");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -23,6 +23,8 @@ import org.apache.tools.ant.BuildException;
|
|||
import org.apache.tools.ant.Project;
|
||||
import org.apache.tools.ant.Task;
|
||||
|
||||
import org.tianocore.common.logger.EdkLog;
|
||||
|
||||
/**
|
||||
GuidChkTask
|
||||
|
||||
|
@ -46,49 +48,53 @@ public class GuidChkTask extends Task implements EfiDefine{
|
|||
* -fos : out put redirect to this file
|
||||
*
|
||||
*/
|
||||
///
|
||||
/// Directory name of exclusion searching
|
||||
///
|
||||
private String exDir = "";
|
||||
///
|
||||
/// File name of exclusion searching.
|
||||
///
|
||||
private String exFile = "";
|
||||
///
|
||||
/// Extension name of exclusion searching.
|
||||
///
|
||||
private String exExt = "";
|
||||
///
|
||||
/// Extesnion name of sub dir which excluded searching.
|
||||
///
|
||||
private String exSubDir = "";
|
||||
///
|
||||
/// Out put file wrote internal GUID+basename list
|
||||
///
|
||||
private String outFile = "";
|
||||
///
|
||||
/// Check for duplicate guids.
|
||||
///
|
||||
private String chkGui = "";
|
||||
///
|
||||
/// Check for duplicate signatures
|
||||
///
|
||||
private String chkSign = "";
|
||||
///
|
||||
/// If set will print guid+defined symbol name
|
||||
///
|
||||
private String printGuiDef = "";
|
||||
///
|
||||
/// If set will print all GUIDS found
|
||||
///
|
||||
private String printAllGuid = "";
|
||||
///
|
||||
/// redirection file name.
|
||||
///
|
||||
//
|
||||
// Tool name
|
||||
//
|
||||
private static String toolName = "GuidChk";
|
||||
//
|
||||
// Directory name of exclusion searching
|
||||
//
|
||||
private FileArg exDir = new FileArg();
|
||||
//
|
||||
// File name of exclusion searching.
|
||||
//
|
||||
private FileArg exFile = new FileArg();
|
||||
//
|
||||
// Extension name of exclusion searching.
|
||||
//
|
||||
private FileArg exExt = new FileArg();
|
||||
//
|
||||
// Extesnion name of sub dir which excluded searching.
|
||||
//
|
||||
private FileArg exSubDir = new FileArg();
|
||||
//
|
||||
// Out put file wrote internal GUID+basename list
|
||||
//
|
||||
private FileArg outFile = new FileArg();
|
||||
//
|
||||
// Check for duplicate guids.
|
||||
//
|
||||
private ToolArg chkGui = new ToolArg();
|
||||
//
|
||||
// Check for duplicate signatures
|
||||
//
|
||||
private ToolArg chkSign = new ToolArg();
|
||||
//
|
||||
// If set will print guid+defined symbol name
|
||||
//
|
||||
private ToolArg printGuiDef = new ToolArg();
|
||||
//
|
||||
// If set will print all GUIDS found
|
||||
//
|
||||
private ToolArg printAllGuid = new ToolArg();
|
||||
//
|
||||
// redirection file name.
|
||||
//
|
||||
private String outPut = "";
|
||||
///
|
||||
/// out put redirect to this file.
|
||||
///
|
||||
//
|
||||
// out put redirect to this file.
|
||||
//
|
||||
protected PrintWriter fos = null;
|
||||
|
||||
//
|
||||
|
@ -99,11 +105,11 @@ public class GuidChkTask extends Task implements EfiDefine{
|
|||
String path = project.getProperty("env.FRAMEWORK_TOOLS_PATH");
|
||||
String command;
|
||||
if (path == null) {
|
||||
command = "GuidChk";
|
||||
command = toolName;
|
||||
} else {
|
||||
command = path + File.separatorChar + "GuidChk";
|
||||
command = path + File.separatorChar + toolName;
|
||||
}
|
||||
String argument = exDir +
|
||||
String argument = "" + exDir +
|
||||
exFile +
|
||||
exExt +
|
||||
exSubDir +
|
||||
|
@ -113,11 +119,11 @@ public class GuidChkTask extends Task implements EfiDefine{
|
|||
printGuiDef +
|
||||
printAllGuid;
|
||||
try {
|
||||
log(command + " " + argument, Project.MSG_VERBOSE);
|
||||
EdkLog.log(this, EdkLog.EDK_VERBOSE, command + " " + argument);
|
||||
//
|
||||
// execute command line
|
||||
//
|
||||
Process proc = Runtime.getRuntime().exec(command + "" + argument);
|
||||
Process proc = Runtime.getRuntime().exec(command + " " + argument);
|
||||
//
|
||||
// if set output, redirect out put to output file, else print output to screen
|
||||
//
|
||||
|
@ -138,9 +144,9 @@ public class GuidChkTask extends Task implements EfiDefine{
|
|||
line = bin.readLine();
|
||||
}
|
||||
}
|
||||
log("GuidChkTask Succeeded!", Project.MSG_VERBOSE);
|
||||
EdkLog.log(this, EdkLog.EDK_VERBOSE, toolName + " Succeeded!");
|
||||
} catch (Exception e) {
|
||||
throw new BuildException("GuidChkTask failed!");
|
||||
throw new BuildException(toolName + " failed!");
|
||||
}
|
||||
}
|
||||
/**
|
||||
|
@ -151,7 +157,7 @@ public class GuidChkTask extends Task implements EfiDefine{
|
|||
@return string of flag of ChkGui
|
||||
**/
|
||||
public String getChkGui() {
|
||||
return chkGui;
|
||||
return chkGui.getValue();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -161,11 +167,10 @@ public class GuidChkTask extends Task implements EfiDefine{
|
|||
|
||||
@param chkGui set class member of chkGui
|
||||
**/
|
||||
public void setChkGui(String chkGui) {
|
||||
if (chkGui.equals("on")||(chkGui.equals("ON"))){
|
||||
this.chkGui = " -g ";
|
||||
public void setChkGui(boolean chkGui) {
|
||||
if (chkGui) {
|
||||
this.chkGui.setArg(" -", "g");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -176,7 +181,7 @@ public class GuidChkTask extends Task implements EfiDefine{
|
|||
@return chkSign
|
||||
**/
|
||||
public String getChkSign() {
|
||||
return chkSign;
|
||||
return chkSign.getValue();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -185,9 +190,9 @@ public class GuidChkTask extends Task implements EfiDefine{
|
|||
This function is to set class member of chkSign
|
||||
* @param chkSign
|
||||
*/
|
||||
public void setChkSign(String chkSign) {
|
||||
if (chkSign.equals("on")|| chkSign.equals("ON")){
|
||||
this.chkSign = " -s ";
|
||||
public void setChkSign(boolean chkSign) {
|
||||
if (chkSign){
|
||||
this.chkSign.setArg(" -", "s");
|
||||
}
|
||||
}
|
||||
/**
|
||||
|
@ -198,7 +203,7 @@ public class GuidChkTask extends Task implements EfiDefine{
|
|||
@return exDir
|
||||
**/
|
||||
public String getExDir() {
|
||||
return exDir;
|
||||
return exDir.getValue();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -209,7 +214,7 @@ public class GuidChkTask extends Task implements EfiDefine{
|
|||
@param exDir
|
||||
**/
|
||||
public void setExDir(String exDir) {
|
||||
this.exDir = " -d " + exDir;
|
||||
this.exDir.setArg(" -d ", exDir);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -220,7 +225,7 @@ public class GuidChkTask extends Task implements EfiDefine{
|
|||
@return exExt
|
||||
**/
|
||||
public String getExExt() {
|
||||
return exExt;
|
||||
return exExt.getValue();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -230,7 +235,7 @@ public class GuidChkTask extends Task implements EfiDefine{
|
|||
@param exExt
|
||||
**/
|
||||
public void setExExt(String exExt) {
|
||||
this.exExt = " -e " + exExt;
|
||||
this.exExt.setArg(" -e ", exExt);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -240,7 +245,7 @@ public class GuidChkTask extends Task implements EfiDefine{
|
|||
@return exFile
|
||||
**/
|
||||
public String getExFile() {
|
||||
return exFile;
|
||||
return exFile.getValue();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -251,7 +256,7 @@ public class GuidChkTask extends Task implements EfiDefine{
|
|||
@param exFile
|
||||
**/
|
||||
public void setExFile(String exFile) {
|
||||
this.exFile = " -f " + exFile;
|
||||
this.exFile.setArg(" -f ", exFile);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -262,7 +267,7 @@ public class GuidChkTask extends Task implements EfiDefine{
|
|||
@return exSubDir
|
||||
**/
|
||||
public String getExSubDir() {
|
||||
return exSubDir;
|
||||
return exSubDir.getValue();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -272,7 +277,7 @@ public class GuidChkTask extends Task implements EfiDefine{
|
|||
@param exSubDir
|
||||
**/
|
||||
public void setExSubDir(String exSubDir) {
|
||||
this.exSubDir = " -u " + exSubDir;
|
||||
this.exSubDir.setArg(" -u ", exSubDir);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -283,14 +288,14 @@ public class GuidChkTask extends Task implements EfiDefine{
|
|||
@return outFile
|
||||
**/
|
||||
public String getOutFile() {
|
||||
return outFile;
|
||||
return outFile.getValue();
|
||||
}
|
||||
/**
|
||||
* set class member of outFile
|
||||
* @param outFile
|
||||
*/
|
||||
public void setOutFile(String outFile) {
|
||||
this.outFile = " -b " + outFile;
|
||||
this.outFile.setArg(" -b ", outFile);
|
||||
}
|
||||
/**
|
||||
getPrintGuidDef
|
||||
|
@ -300,7 +305,7 @@ public class GuidChkTask extends Task implements EfiDefine{
|
|||
@return flage of printing (guid+defined symbol name)
|
||||
**/
|
||||
public String getPrintGuiDef() {
|
||||
return printGuiDef;
|
||||
return printGuiDef.getValue();
|
||||
}
|
||||
|
||||
|
||||
|
@ -310,9 +315,9 @@ public class GuidChkTask extends Task implements EfiDefine{
|
|||
This function is to set class member of printGuiDef.
|
||||
@param printGuiDef
|
||||
**/
|
||||
public void setPrintGuiDef(String printGuiDef) {
|
||||
if (printGuiDef.equals("on")|| printGuiDef.equals("ON")){
|
||||
this.printGuiDef = " -x ";
|
||||
public void setPrintGuiDef(boolean printGuiDef) {
|
||||
if (printGuiDef){
|
||||
this.printGuiDef.setArg(" -", "x");
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -345,7 +350,7 @@ public class GuidChkTask extends Task implements EfiDefine{
|
|||
@return printAllGuid
|
||||
**/
|
||||
public String getPrintAllGuid() {
|
||||
return printAllGuid;
|
||||
return printAllGuid.getValue();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -354,9 +359,9 @@ public class GuidChkTask extends Task implements EfiDefine{
|
|||
This function is to set class member of printAllGuid.
|
||||
@param printAllGuid
|
||||
**/
|
||||
public void setPrintAllGuid(String printAllGuid) {
|
||||
if (printAllGuid.equals("on")||printAllGuid.equals("ON")) {
|
||||
this.printAllGuid = " -p ";
|
||||
public void setPrintAllGuid(boolean printAllGuid) {
|
||||
if (printAllGuid) {
|
||||
this.printAllGuid.setArg(" -", "p");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -40,14 +40,14 @@ public class MakeDeps extends Task {
|
|||
//
|
||||
// private members, use set/get to access them
|
||||
//
|
||||
private static final String cmdName = "MakeDeps";
|
||||
private String depsFile = null;
|
||||
private String subDir = null;
|
||||
private boolean quietMode = true;
|
||||
private boolean ignoreError = true;
|
||||
private String extraDeps = "";
|
||||
private List<IncludePath> includePathList = new ArrayList<IncludePath>();
|
||||
private List<Input> inputFileList = new ArrayList<Input>();
|
||||
private static final String toolName = "MakeDeps";
|
||||
private FileArg depsFile = new FileArg();
|
||||
private ToolArg subDir = new ToolArg();
|
||||
private ToolArg quietMode = new ToolArg(" -", "q");
|
||||
private ToolArg ignoreError = new ToolArg(" -", "ignorenotfound");
|
||||
private IncludePath includePathList = new IncludePath();
|
||||
private Input inputFileList = new Input();
|
||||
private ToolArg target = new FileArg(" -target ", "dummy");
|
||||
|
||||
public MakeDeps() {
|
||||
|
||||
|
@ -76,61 +76,27 @@ public class MakeDeps extends Task {
|
|||
/// compose full tool path
|
||||
///
|
||||
if (toolPath == null || toolPath.length() == 0) {
|
||||
toolPath = cmdName;
|
||||
toolPath = toolName;
|
||||
} else {
|
||||
if (toolPath.endsWith("/") || toolPath.endsWith("\\")) {
|
||||
toolPath = toolPath + cmdName;
|
||||
toolPath = toolPath + toolName;
|
||||
} else {
|
||||
toolPath = toolPath + File.separator + cmdName;
|
||||
toolPath = toolPath + File.separator + toolName;
|
||||
}
|
||||
}
|
||||
|
||||
///
|
||||
/// compose tool arguments
|
||||
///
|
||||
StringBuffer args = new StringBuffer(4096);
|
||||
if (ignoreError) {
|
||||
args.append(" -ignorenotfound ");
|
||||
}
|
||||
if (quietMode) {
|
||||
args.append(" -q ");
|
||||
}
|
||||
if (subDir != null && subDir.length() > 0) {
|
||||
args.append(" -s ");
|
||||
args.append(subDir);
|
||||
}
|
||||
|
||||
///
|
||||
/// if there's no source files, we can do nothing about dependency
|
||||
///
|
||||
if (inputFileList.size() == 0) {
|
||||
throw new BuildException("No source files specified to scan");
|
||||
}
|
||||
|
||||
///
|
||||
/// compose source file arguments
|
||||
///
|
||||
for (int i = 0, listLength = inputFileList.size(); i < listLength; ++i) {
|
||||
args.append(inputFileList.get(i).toString());
|
||||
}
|
||||
|
||||
for (int i = 0, listLength = includePathList.size(); i < listLength; ++i) {
|
||||
args.append(includePathList.get(i).toString());
|
||||
}
|
||||
|
||||
///
|
||||
/// We don't need a real target. So just a "dummy" is given
|
||||
///
|
||||
args.append(" -target dummy");
|
||||
args.append(" -o ");
|
||||
args.append(depsFile);
|
||||
String argument = "" + inputFileList + includePathList + subDir
|
||||
+ quietMode + ignoreError + target + depsFile;
|
||||
|
||||
///
|
||||
/// prepare to execute the tool
|
||||
///
|
||||
Commandline cmd = new Commandline();
|
||||
cmd.setExecutable(toolPath);
|
||||
cmd.createArgument().setLine(args.toString());
|
||||
cmd.createArgument().setLine(argument);
|
||||
|
||||
LogStreamHandler streamHandler = new LogStreamHandler(this, Project.MSG_INFO, Project.MSG_WARN);
|
||||
Execute runner = new Execute(streamHandler, null);
|
||||
|
@ -148,29 +114,20 @@ public class MakeDeps extends Task {
|
|||
}
|
||||
|
||||
if (result != 0) {
|
||||
EdkLog.log(this, EdkLog.EDK_INFO, "MakeDeps failed!");
|
||||
throw new BuildException("MakeDeps: failed to generate dependency file!");
|
||||
EdkLog.log(this, EdkLog.EDK_INFO, toolName + " failed!");
|
||||
throw new BuildException(toolName + ": failed to generate dependency file!");
|
||||
} else {
|
||||
EdkLog.log(this, EdkLog.EDK_VERBOSE, toolName + " succeeded!");
|
||||
}
|
||||
}
|
||||
|
||||
///
|
||||
/// Remove any duplicated path separator or inconsistent path separator
|
||||
///
|
||||
private String cleanupPathName(String path) {
|
||||
String separator = "\\" + File.separator;
|
||||
String duplicateSeparator = separator + "{2}";
|
||||
path = Path.translateFile(path);
|
||||
path = path.replaceAll(duplicateSeparator, separator);
|
||||
return path;
|
||||
}
|
||||
|
||||
/**
|
||||
Set method for "DepsFile" attribute
|
||||
|
||||
@param name The name of dependency list file
|
||||
**/
|
||||
public void setDepsFile(String name) {
|
||||
depsFile = cleanupPathName(name);
|
||||
depsFile.setArg(" -o ", name);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -179,7 +136,7 @@ public class MakeDeps extends Task {
|
|||
@returns The name of dependency list file
|
||||
**/
|
||||
public String getDepsFile() {
|
||||
return depsFile;
|
||||
return depsFile.getValue();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -188,7 +145,9 @@ public class MakeDeps extends Task {
|
|||
@param ignore flag to control error handling (true/false)
|
||||
**/
|
||||
public void setIgnoreError(boolean ignore) {
|
||||
ignoreError = ignore;
|
||||
if (!ignore) {
|
||||
ignoreError.setArg(" ", " ");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -197,7 +156,7 @@ public class MakeDeps extends Task {
|
|||
@returns The value of current IgnoreError flag
|
||||
**/
|
||||
public boolean getIgnoreError() {
|
||||
return ignoreError;
|
||||
return ignoreError.getValue().length() > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -206,7 +165,9 @@ public class MakeDeps extends Task {
|
|||
@param quiet flag to control the output information (true/false)
|
||||
**/
|
||||
public void setQuietMode(boolean quiet) {
|
||||
quietMode = quiet;
|
||||
if (!quiet) {
|
||||
quietMode.setArg(" ", " ");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -215,7 +176,7 @@ public class MakeDeps extends Task {
|
|||
@returns value of current QuietMode flag
|
||||
**/
|
||||
public boolean getQuietMode() {
|
||||
return quietMode;
|
||||
return quietMode.getValue().length() > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -224,7 +185,7 @@ public class MakeDeps extends Task {
|
|||
@param dir The name of sub-directory in which source files will be scanned
|
||||
**/
|
||||
public void setSubDir(String dir) {
|
||||
subDir = cleanupPathName(dir);
|
||||
subDir.setArg(" -s ", dir);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -233,25 +194,7 @@ public class MakeDeps extends Task {
|
|||
@returns The name of sub-directory
|
||||
**/
|
||||
public String getSubDir() {
|
||||
return subDir;
|
||||
}
|
||||
|
||||
/**
|
||||
Set method for "ExtraDeps" attribute
|
||||
|
||||
@param deps The name of dependency file specified separately
|
||||
**/
|
||||
public void setExtraDeps(String deps) {
|
||||
extraDeps = cleanupPathName(deps);
|
||||
}
|
||||
|
||||
/**
|
||||
Get method for "ExtraDeps" attribute
|
||||
|
||||
@returns The name of dependency file specified separately
|
||||
**/
|
||||
public String getExtraDeps () {
|
||||
return extraDeps;
|
||||
return subDir.getValue();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -259,8 +202,8 @@ public class MakeDeps extends Task {
|
|||
|
||||
@param path The IncludePath object from nested IncludePath type of element
|
||||
**/
|
||||
public void addIncludepath(IncludePath path) {
|
||||
includePathList.add(path);
|
||||
public void addConfiguredIncludepath(IncludePath path) {
|
||||
includePathList.insert(path);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -268,8 +211,8 @@ public class MakeDeps extends Task {
|
|||
|
||||
@param input The Input object from nested Input type of element
|
||||
**/
|
||||
public void addInput(Input inputFile) {
|
||||
inputFileList.add(inputFile);
|
||||
public void addConfiguredInput(Input inputFile) {
|
||||
inputFileList.insert(inputFile);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -279,9 +222,10 @@ public class MakeDeps extends Task {
|
|||
@returns false The dependency list file is outofdate. Re-generation is needed.
|
||||
**/
|
||||
private boolean isUptodate() {
|
||||
File df = new File(depsFile);
|
||||
String dfName = depsFile.getValue();
|
||||
File df = new File(dfName);
|
||||
if (!df.exists()) {
|
||||
EdkLog.log(this, EdkLog.EDK_VERBOSE, depsFile + " doesn't exist!");
|
||||
EdkLog.log(this, EdkLog.EDK_VERBOSE, dfName + " doesn't exist!");
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -290,10 +234,7 @@ public class MakeDeps extends Task {
|
|||
// re-generate the dependency list file
|
||||
//
|
||||
long depsFileTimeStamp = df.lastModified();
|
||||
Iterator<Input> iterator = (Iterator<Input>)inputFileList.iterator();
|
||||
while (iterator.hasNext()) {
|
||||
Input inputFile = iterator.next();
|
||||
List<String> fileList = inputFile.getNameList();
|
||||
List<String> fileList = inputFileList.getNameList();
|
||||
for (int i = 0, length = fileList.size(); i < length; ++i) {
|
||||
File sf = new File(fileList.get(i));
|
||||
if (sf.lastModified() > depsFileTimeStamp) {
|
||||
|
@ -301,7 +242,6 @@ public class MakeDeps extends Task {
|
|||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// If the source files haven't been changed since last time the dependency
|
||||
|
@ -350,7 +290,7 @@ public class MakeDeps extends Task {
|
|||
// check if the .dep file is empty
|
||||
//
|
||||
if (lines == 0) {
|
||||
EdkLog.log(this, EdkLog.EDK_VERBOSE, depsFile + " is empty!");
|
||||
EdkLog.log(this, EdkLog.EDK_VERBOSE, dfName + " is empty!");
|
||||
ret = false;
|
||||
}
|
||||
|
||||
|
|
|
@ -33,39 +33,39 @@ import org.tianocore.common.logger.EdkLog;
|
|||
ModifyInfTask is used to call Modify.exe to generate inf file.
|
||||
**/
|
||||
public class ModifyInfTask extends Task implements EfiDefine {
|
||||
///
|
||||
/// tool name
|
||||
///
|
||||
//
|
||||
// tool name
|
||||
//
|
||||
private String toolName = "ModifyInf";
|
||||
|
||||
///
|
||||
/// input FV inf file
|
||||
///
|
||||
private String inputFVInfFile = "";
|
||||
//
|
||||
// input FV inf file
|
||||
//
|
||||
private FileArg inputFVInfFile = new FileArg();
|
||||
|
||||
///
|
||||
/// output FV inf file
|
||||
///
|
||||
private String outputFVInfFile = "";
|
||||
//
|
||||
// output FV inf file
|
||||
//
|
||||
private FileArg outputFVInfFile = new FileArg();
|
||||
|
||||
///
|
||||
/// pattern string
|
||||
///
|
||||
private String patternStr = "";
|
||||
//
|
||||
// pattern string
|
||||
//
|
||||
private ToolArg patternStr = new ToolArg();
|
||||
|
||||
///
|
||||
/// Output dir
|
||||
///
|
||||
private String outputDir = "";
|
||||
//
|
||||
// Output dir
|
||||
//
|
||||
private String outputDir = ".";
|
||||
|
||||
/**
|
||||
* execute
|
||||
*
|
||||
* ModifyInfTask execute function is to assemble tool command line & execute
|
||||
* tool command line
|
||||
*
|
||||
* @throws BuidException
|
||||
*/
|
||||
execute
|
||||
|
||||
ModifyInfTask execute function is to assemble tool command line & execute
|
||||
tool command line
|
||||
|
||||
@throws BuidException
|
||||
**/
|
||||
public void execute() throws BuildException {
|
||||
|
||||
Project project = this.getOwningTarget().getProject();
|
||||
|
@ -83,18 +83,7 @@ public class ModifyInfTask extends Task implements EfiDefine {
|
|||
//
|
||||
// argument of tools
|
||||
//
|
||||
File file = new File(outputFVInfFile);
|
||||
if (!file.isAbsolute() && (!this.outputDir.equalsIgnoreCase(""))) {
|
||||
argument = this.inputFVInfFile +
|
||||
this.outputDir +
|
||||
File.separatorChar +
|
||||
this.outputFVInfFile +
|
||||
this.patternStr;
|
||||
} else {
|
||||
argument = this.inputFVInfFile +
|
||||
this.outputFVInfFile +
|
||||
this.patternStr;
|
||||
}
|
||||
argument = "" + this.inputFVInfFile + this.outputFVInfFile + this.patternStr;
|
||||
//
|
||||
// return value of fwimage execution
|
||||
//
|
||||
|
@ -111,24 +100,27 @@ public class ModifyInfTask 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.inputFVInfFile)).getName());
|
||||
revl = runner.execute();
|
||||
EdkLog.log(this, EdkLog.EDK_INFO, this.inputFVInfFile.toFileList()
|
||||
+ " => " + this.inputFVInfFile.toFileList());
|
||||
|
||||
revl = runner.execute();
|
||||
if (EFI_SUCCESS == revl) {
|
||||
//
|
||||
// command execution success
|
||||
//
|
||||
EdkLog.log(this, EdkLog.EDK_VERBOSE, "ModifyInfTask 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("ModifyInfTask failed!");
|
||||
throw new BuildException(toolName + " failed!");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
throw new BuildException(e.getMessage());
|
||||
|
@ -136,93 +128,93 @@ public class ModifyInfTask extends Task implements EfiDefine {
|
|||
}
|
||||
|
||||
/**
|
||||
* getinputFVInfFile
|
||||
*
|
||||
* This function is to get class member "inputFVInfFile".
|
||||
*
|
||||
* @return string of input inf file name.
|
||||
*/
|
||||
getinputFVInfFile
|
||||
|
||||
This function is to get class member "inputFVInfFile".
|
||||
|
||||
@return string of input inf file name.
|
||||
**/
|
||||
public String getinputFVInfFile() {
|
||||
return this.inputFVInfFile;
|
||||
return this.inputFVInfFile.getValue();
|
||||
}
|
||||
|
||||
/**
|
||||
* setinputFVInfFile
|
||||
*
|
||||
* This function is to set class member "inputFVInfFile".
|
||||
*
|
||||
* @param inputFile
|
||||
* string of input inf file name.
|
||||
*/
|
||||
setinputFVInfFile
|
||||
|
||||
This function is to set class member "inputFVInfFile".
|
||||
|
||||
@param inputFile
|
||||
string of input inf file name.
|
||||
**/
|
||||
public void setinputFVInfFile(String inputFVInfFileName) {
|
||||
this.inputFVInfFile= inputFVInfFileName + " ";
|
||||
this.inputFVInfFile.setArg(" ", inputFVInfFileName);
|
||||
}
|
||||
|
||||
/**
|
||||
* getoutputFVInfFile
|
||||
*
|
||||
* This function is to get class member "outputFVInfFile"
|
||||
*
|
||||
* @return outputFVInfFile string of output inf file name.
|
||||
*/
|
||||
getoutputFVInfFile
|
||||
|
||||
This function is to get class member "outputFVInfFile"
|
||||
|
||||
@return outputFVInfFile string of output inf file name.
|
||||
**/
|
||||
public String getoutputFVInfFile() {
|
||||
return this.outputFVInfFile;
|
||||
return this.outputFVInfFile.getValue();
|
||||
}
|
||||
|
||||
/**
|
||||
* setoutputFVInfFile
|
||||
*
|
||||
* This function is to set class member "outputFVInfFile"
|
||||
*
|
||||
* @param outputFVInfFile
|
||||
* string of output inf file name.
|
||||
*/
|
||||
setoutputFVInfFile
|
||||
|
||||
This function is to set class member "outputFVInfFile"
|
||||
|
||||
@param outputFVInfFile
|
||||
string of output inf file name.
|
||||
**/
|
||||
public void setoutputFVInfFile(String outputFVInfFileName) {
|
||||
this.outputFVInfFile = outputFVInfFileName + " ";
|
||||
this.outputFVInfFile.setArg(" ", outputFVInfFileName);
|
||||
}
|
||||
|
||||
/**
|
||||
* getpatternStr
|
||||
*
|
||||
* This function is to get class member "patternStr"
|
||||
*
|
||||
* @return patternStr string of pattern.
|
||||
*/
|
||||
getpatternStr
|
||||
|
||||
This function is to get class member "patternStr"
|
||||
|
||||
@return patternStr string of pattern.
|
||||
**/
|
||||
public String getpatternStr() {
|
||||
return this.patternStr;
|
||||
return this.patternStr.getValue();
|
||||
}
|
||||
|
||||
/**
|
||||
* setpatternStr
|
||||
*
|
||||
* This function is to set class member "patternStr"
|
||||
*
|
||||
* @param patternStr
|
||||
* string of patternStr.
|
||||
*/
|
||||
setpatternStr
|
||||
|
||||
This function is to set class member "patternStr"
|
||||
|
||||
@param patternStr
|
||||
string of patternStr.
|
||||
**/
|
||||
public void setpatternStr(String patternStr) {
|
||||
this.patternStr = patternStr;
|
||||
this.patternStr.setArg(" ", patternStr);
|
||||
}
|
||||
|
||||
/**
|
||||
* 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 this.outputDir;
|
||||
}
|
||||
|
||||
/**
|
||||
* setoutputDir
|
||||
*
|
||||
* This function is to set class member "outputDir"
|
||||
*
|
||||
* @param patternStr
|
||||
* string of output directory.
|
||||
*/
|
||||
setoutputDir
|
||||
|
||||
This function is to set class member "outputDir"
|
||||
|
||||
@param patternStr
|
||||
string of output directory.
|
||||
**/
|
||||
public void setoutputDir(String outputDir) {
|
||||
this.outputDir = outputDir;
|
||||
}
|
||||
|
|
|
@ -35,34 +35,34 @@ import org.tianocore.common.logger.EdkLog;
|
|||
Ap reset vector.
|
||||
**/
|
||||
public class SecApResetVectorFixupTask extends Task implements EfiDefine {
|
||||
///
|
||||
/// tool name
|
||||
///
|
||||
//
|
||||
// tool name
|
||||
//
|
||||
private String toolName = "SecApResetVectorFixup";
|
||||
// /
|
||||
// / input FV recovery file
|
||||
// /
|
||||
private String fvInputFile = "";
|
||||
//
|
||||
// input FV recovery file
|
||||
//
|
||||
private FileArg fvInputFile = new FileArg();
|
||||
|
||||
// /
|
||||
// / output file
|
||||
// /
|
||||
private String fvOutputFile = "";
|
||||
//
|
||||
// output file
|
||||
//
|
||||
private FileArg fvOutputFile = new FileArg();
|
||||
|
||||
// /
|
||||
// / output directory, this variable is added by jave wrap
|
||||
// /
|
||||
private String outputDir = "";
|
||||
//
|
||||
// output directory, this variable is added by jave wrap
|
||||
//
|
||||
private String outputDir = ".";
|
||||
|
||||
|
||||
/**
|
||||
* execute
|
||||
*
|
||||
* SecApResetVectorFixupTask execute function is to assemble tool command line & execute
|
||||
* tool command line
|
||||
*
|
||||
* @throws BuidException
|
||||
*/
|
||||
execute
|
||||
|
||||
SecApResetVectorFixupTask execute function is to assemble tool command line & execute
|
||||
tool command line
|
||||
|
||||
@throws BuidException
|
||||
**/
|
||||
public void execute() throws BuildException {
|
||||
|
||||
Project project = this.getOwningTarget().getProject();
|
||||
|
@ -75,18 +75,12 @@ public class SecApResetVectorFixupTask 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(this.fvOutputFile);
|
||||
if (!file.isAbsolute() && (!this.outputDir.equalsIgnoreCase(""))) {
|
||||
argument = this.fvInputFile + " " + outputDir + File.separatorChar
|
||||
+ this.fvOutputFile;
|
||||
} else {
|
||||
argument = this.fvInputFile + " " + this.fvOutputFile;
|
||||
}
|
||||
argument = "" + this.fvInputFile + this.fvOutputFile;
|
||||
//
|
||||
// return value of fwimage execution
|
||||
//
|
||||
|
@ -103,11 +97,14 @@ public class SecApResetVectorFixupTask 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.fvInputFile)).getName());
|
||||
EdkLog.log(this, EdkLog.EDK_INFO, this.fvInputFile.toFileList()
|
||||
+ " => " + this.fvOutputFile.toFileList());
|
||||
|
||||
revl = runner.execute();
|
||||
|
||||
|
@ -115,13 +112,13 @@ public class SecApResetVectorFixupTask extends Task implements EfiDefine {
|
|||
//
|
||||
// command execution success
|
||||
//
|
||||
EdkLog.log(this, EdkLog.EDK_VERBOSE, "SecApResetVectorFixup 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("SecApResetVectorFixup failed!");
|
||||
throw new BuildException(toolName + " failed!");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
throw new BuildException(e.getMessage());
|
||||
|
@ -129,70 +126,70 @@ public class SecApResetVectorFixupTask extends Task implements EfiDefine {
|
|||
}
|
||||
|
||||
/**
|
||||
* getInputFile
|
||||
*
|
||||
* This function is to get class member "fvInputFile".
|
||||
*
|
||||
* @return string of input file name.
|
||||
*/
|
||||
getInputFile
|
||||
|
||||
This function is to get class member "fvInputFile".
|
||||
|
||||
@return string of input file name.
|
||||
**/
|
||||
public String getfvInputFile() {
|
||||
return this.fvInputFile;
|
||||
return this.fvInputFile.getValue();
|
||||
}
|
||||
|
||||
/**
|
||||
* setComponentType
|
||||
*
|
||||
* This function is to set class member "fvInputFile".
|
||||
*
|
||||
* @param inputFile
|
||||
* string of input file name.
|
||||
*/
|
||||
setComponentType
|
||||
|
||||
This function is to set class member "fvInputFile".
|
||||
|
||||
@param inputFile
|
||||
string of input file name.
|
||||
**/
|
||||
public void setFvInputFile(String inputFile) {
|
||||
this.fvInputFile = inputFile;
|
||||
this.fvInputFile.setArg(" ", inputFile);
|
||||
}
|
||||
|
||||
/**
|
||||
* getOutputFile
|
||||
*
|
||||
* This function is to get class member "fvOutputFile"
|
||||
*
|
||||
* @return outputFile string of output file name.
|
||||
*/
|
||||
getOutputFile
|
||||
|
||||
This function is to get class member "fvOutputFile"
|
||||
|
||||
@return outputFile string of output file name.
|
||||
**/
|
||||
public String getOutputFile() {
|
||||
return this.fvOutputFile;
|
||||
return this.fvOutputFile.getValue();
|
||||
}
|
||||
|
||||
/**
|
||||
* setOutputFile
|
||||
*
|
||||
* This function is to set class member "fvOutputFile"
|
||||
*
|
||||
* @param outputFile
|
||||
* string of output file name.
|
||||
*/
|
||||
setOutputFile
|
||||
|
||||
This function is to set class member "fvOutputFile"
|
||||
|
||||
@param outputFile
|
||||
string of output file name.
|
||||
**/
|
||||
public void setFvOutputFile(String outputFile) {
|
||||
this.fvOutputFile = outputFile;
|
||||
this.fvOutputFile.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;
|
||||
}
|
||||
|
|
|
@ -33,39 +33,39 @@ import org.tianocore.common.logger.EdkLog;
|
|||
* SecFixupTask is used to call SecFixup.exe to fix up sec image.
|
||||
*/
|
||||
public class SecFixupTask extends Task implements EfiDefine {
|
||||
// /
|
||||
// / tool name
|
||||
// /
|
||||
//
|
||||
// tool name
|
||||
//
|
||||
private String toolName = "SecFixup";
|
||||
|
||||
// /
|
||||
// / input file
|
||||
// /
|
||||
private String secExeFile = "";
|
||||
//
|
||||
// input file
|
||||
//
|
||||
private FileArg secExeFile = new FileArg();
|
||||
|
||||
// /
|
||||
// / output file
|
||||
// /
|
||||
private String resetVectorDataFile = "";
|
||||
//
|
||||
// output file
|
||||
//
|
||||
private FileArg resetVectorDataFile = new FileArg();
|
||||
|
||||
// /
|
||||
// / output directory, this variable is added by jave wrap
|
||||
// /
|
||||
private String outputFile = "";
|
||||
//
|
||||
// output file
|
||||
//
|
||||
private FileArg outputFile = new FileArg();
|
||||
|
||||
// /
|
||||
// / output directory
|
||||
// /
|
||||
private String outputDir = "";
|
||||
//
|
||||
// output directory, this variable is added by jave wrap
|
||||
//
|
||||
private String outputDir = ".";
|
||||
|
||||
/**
|
||||
* execute
|
||||
*
|
||||
* SecFixupTask execute function is to assemble tool command line & execute
|
||||
* tool command line
|
||||
*
|
||||
* @throws BuidException
|
||||
*/
|
||||
execute
|
||||
|
||||
SecFixupTask execute function is to assemble tool command line & execute
|
||||
tool command line
|
||||
|
||||
@throws BuidException
|
||||
**/
|
||||
public void execute() throws BuildException {
|
||||
|
||||
Project project = this.getOwningTarget().getProject();
|
||||
|
@ -84,13 +84,7 @@ public class SecFixupTask extends Task implements EfiDefine {
|
|||
//
|
||||
// argument of tools
|
||||
//
|
||||
if (!this.outputDir.equalsIgnoreCase("")) {
|
||||
argument = this.secExeFile + " " + this.resetVectorDataFile + " "
|
||||
+ this.outputDir + File.separatorChar + this.outputFile;
|
||||
} else {
|
||||
argument = this.secExeFile + " " + this.resetVectorDataFile + " "
|
||||
+ this.outputFile;
|
||||
}
|
||||
argument = "" + secExeFile + resetVectorDataFile + outputFile;
|
||||
|
||||
//
|
||||
// return value of fwimage execution
|
||||
|
@ -108,10 +102,14 @@ public class SecFixupTask 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, secExeFile.toFileList()
|
||||
+ resetVectorDataFile.toFileList() + " => " + outputFile.toFileList());
|
||||
|
||||
revl = runner.execute();
|
||||
|
||||
|
@ -119,13 +117,13 @@ public class SecFixupTask extends Task implements EfiDefine {
|
|||
//
|
||||
// command execution success
|
||||
//
|
||||
EdkLog.log(this, EdkLog.EDK_VERBOSE, "SecFixup 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("SecFixup failed!");
|
||||
throw new BuildException(toolName + " failed!");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
throw new BuildException(e.getMessage());
|
||||
|
@ -133,93 +131,93 @@ public class SecFixupTask extends Task implements EfiDefine {
|
|||
}
|
||||
|
||||
/**
|
||||
* getSecExeFile
|
||||
*
|
||||
* This function is to get class member "secExeFile".
|
||||
*
|
||||
* @return string of sectExe file name.
|
||||
*/
|
||||
getSecExeFile
|
||||
|
||||
This function is to get class member "secExeFile".
|
||||
|
||||
@return string of sectExe file name.
|
||||
**/
|
||||
public String getSecExeFile() {
|
||||
return this.secExeFile;
|
||||
return this.secExeFile.getValue();
|
||||
}
|
||||
|
||||
/**
|
||||
* setSecExeFile
|
||||
*
|
||||
* This function is to set class member "secExeFile".
|
||||
*
|
||||
* @param secExeFile
|
||||
* string of secExe file name.
|
||||
*/
|
||||
setSecExeFile
|
||||
|
||||
This function is to set class member "secExeFile".
|
||||
|
||||
@param secExeFile
|
||||
string of secExe file name.
|
||||
**/
|
||||
public void setSecExeFile(String secExeFile) {
|
||||
this.secExeFile = secExeFile;
|
||||
this.secExeFile.setArg(" ", secExeFile);
|
||||
}
|
||||
|
||||
/**
|
||||
* getResetVectorDataFile
|
||||
*
|
||||
* This function is to get class member "resetVectorDataFile"
|
||||
*
|
||||
* @return resetVectorDataFile string of resetVectorData file name.
|
||||
*/
|
||||
getResetVectorDataFile
|
||||
|
||||
This function is to get class member "resetVectorDataFile"
|
||||
|
||||
@return resetVectorDataFile string of resetVectorData file name.
|
||||
**/
|
||||
public String getResetVectorDataFile() {
|
||||
return this.resetVectorDataFile;
|
||||
return this.resetVectorDataFile.getValue();
|
||||
}
|
||||
|
||||
/**
|
||||
* setResetVectorDataFile
|
||||
*
|
||||
* This function is to set class member "resetVectorDataFile"
|
||||
*
|
||||
* @param resetVectorDataFile
|
||||
* string of resetVectorData file name.
|
||||
*/
|
||||
setResetVectorDataFile
|
||||
|
||||
This function is to set class member "resetVectorDataFile"
|
||||
|
||||
@param resetVectorDataFile
|
||||
string of resetVectorData file name.
|
||||
**/
|
||||
public void setResetVectorDataFile(String resetVectorDataFile) {
|
||||
this.resetVectorDataFile = resetVectorDataFile;
|
||||
this.resetVectorDataFile.setArg(" ", resetVectorDataFile);
|
||||
}
|
||||
|
||||
/**
|
||||
* 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 this.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 name of output directory
|
||||
*/
|
||||
getOutputDir
|
||||
|
||||
This function is to get class member "outputDir"
|
||||
|
||||
@return outputDir name of output directory
|
||||
**/
|
||||
public String getOutputDir() {
|
||||
return outputDir;
|
||||
}
|
||||
|
||||
/**
|
||||
* setOutputDir
|
||||
*
|
||||
* This function is to set class member "outputDir"
|
||||
*
|
||||
* @param outputDir
|
||||
* name of output directory
|
||||
*/
|
||||
setOutputDir
|
||||
|
||||
This function is to set class member "outputDir"
|
||||
|
||||
@param outputDir
|
||||
name of output directory
|
||||
**/
|
||||
public void setOutputDir(String outputDir) {
|
||||
this.outputDir = outputDir;
|
||||
}
|
||||
|
|
|
@ -22,6 +22,8 @@ import org.apache.tools.ant.taskdefs.Execute;
|
|||
import org.apache.tools.ant.taskdefs.LogStreamHandler;
|
||||
import org.apache.tools.ant.types.Commandline;
|
||||
|
||||
import org.tianocore.common.logger.EdkLog;
|
||||
|
||||
/**
|
||||
Class SetStampTask is a wrap class for setstamp.exe.
|
||||
**/
|
||||
|
@ -33,9 +35,13 @@ public class SetStampTask extends Task implements EfiDefine {
|
|||
-timeFile: Txt file of time
|
||||
**/
|
||||
|
||||
private String peFile = "";
|
||||
private static String toolName = "SetStamp";
|
||||
|
||||
private String timeFile = "";
|
||||
private FileArg peFile = new FileArg();
|
||||
|
||||
private FileArg timeFile = new FileArg();
|
||||
|
||||
private String outputDir = ".";
|
||||
|
||||
/**
|
||||
assemble tool command line & execute tool command line
|
||||
|
@ -51,14 +57,14 @@ public class SetStampTask extends Task implements EfiDefine {
|
|||
String path = project.getProperty("env.FRAMEWORK_TOOLS_PATH");
|
||||
String command;
|
||||
if (path == null) {
|
||||
command = "SetStamp";
|
||||
command = toolName;
|
||||
} else {
|
||||
command = path + "/" + "SetStamp";
|
||||
command = path + File.separator + toolName;
|
||||
}
|
||||
///
|
||||
/// argument of SetStamp tool
|
||||
///
|
||||
String argument = peFile + timeFile;
|
||||
String argument = "" + peFile + timeFile;
|
||||
///
|
||||
/// reture value of SetStamp execution
|
||||
///
|
||||
|
@ -75,19 +81,20 @@ public class SetStampTask extends Task implements EfiDefine {
|
|||
Execute runner = new Execute(streamHandler, null);
|
||||
runner.setAntRun(project);
|
||||
runner.setCommandline(commandLine.getCommandline());
|
||||
runner.setWorkingDirectory(new File(outputDir));
|
||||
|
||||
log(Commandline.toString(commandLine.getCommandline()), Project.MSG_VERBOSE);
|
||||
log((new File(this.peFile)).getName());
|
||||
EdkLog.log(this, EdkLog.EDK_VERBOSE, Commandline.toString(commandLine.getCommandline()));
|
||||
EdkLog.log(this, peFile.toFileList() + " < " + timeFile.toFileList());
|
||||
|
||||
returnVal = runner.execute();
|
||||
if (EFI_SUCCESS == returnVal) {
|
||||
log("SetStamp succeeded!", Project.MSG_VERBOSE);
|
||||
EdkLog.log(this, EdkLog.EDK_VERBOSE, toolName + " succeeded!");
|
||||
} else {
|
||||
///
|
||||
/// command execution fail
|
||||
///
|
||||
log("ERROR = " + Integer.toHexString(returnVal));
|
||||
throw new BuildException("SetStamp failed!");
|
||||
EdkLog.log(this, "ERROR = " + Integer.toHexString(returnVal));
|
||||
throw new BuildException(toolName + " failed!");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
throw new BuildException(e.getMessage());
|
||||
|
@ -100,7 +107,7 @@ public class SetStampTask extends Task implements EfiDefine {
|
|||
@param peFile name of PE File
|
||||
**/
|
||||
public void setPeFile(String peFile) {
|
||||
this.peFile = " " + peFile;
|
||||
this.peFile.setArg(" ", peFile);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -109,7 +116,7 @@ public class SetStampTask extends Task implements EfiDefine {
|
|||
@return peFile name of PE file
|
||||
**/
|
||||
public String getPeFile() {
|
||||
return this.peFile;
|
||||
return this.peFile.getValue();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -118,7 +125,7 @@ public class SetStampTask extends Task implements EfiDefine {
|
|||
@param timeFile name of time file
|
||||
**/
|
||||
public void setTimeFile(String timeFile) {
|
||||
this.timeFile = " " + timeFile;
|
||||
this.timeFile.setArg(" ", timeFile);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -127,7 +134,29 @@ public class SetStampTask extends Task implements EfiDefine {
|
|||
@returns name of time file
|
||||
**/
|
||||
public String getTimeFile() {
|
||||
return this.timeFile;
|
||||
return this.timeFile.getValue();
|
||||
}
|
||||
|
||||
/**
|
||||
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.
|
||||
**/
|
||||
public void setOutputDir(String outputDir) {
|
||||
this.outputDir = outputDir;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -35,25 +35,34 @@ import org.tianocore.common.logger.EdkLog;
|
|||
file.
|
||||
**/
|
||||
public class SplitfileTask extends Task implements EfiDefine {
|
||||
///
|
||||
/// input file
|
||||
///
|
||||
private String inputFile = "";
|
||||
//
|
||||
// Tool name
|
||||
//
|
||||
private static String toolName = "SplitFile";
|
||||
|
||||
///
|
||||
/// offset value
|
||||
///
|
||||
private String offset = "";
|
||||
//
|
||||
// input file
|
||||
//
|
||||
private FileArg inputFile = new FileArg();
|
||||
|
||||
//
|
||||
// offset value
|
||||
//
|
||||
private ToolArg offset = new ToolArg();
|
||||
|
||||
//
|
||||
// Output directory
|
||||
//
|
||||
private String outputDir = ".";
|
||||
|
||||
/**
|
||||
* execute
|
||||
*
|
||||
* SplitfleTask execute function is to assemble tool command line & execute
|
||||
* tool command line
|
||||
*
|
||||
* @throws BuidException
|
||||
*/
|
||||
execute
|
||||
|
||||
SplitfleTask execute function is to assemble tool command line & execute
|
||||
tool command line
|
||||
|
||||
@throws BuidException
|
||||
**/
|
||||
public void execute() throws BuildException {
|
||||
|
||||
Project project = this.getOwningTarget().getProject();
|
||||
|
@ -65,15 +74,15 @@ public class SplitfileTask extends Task implements EfiDefine {
|
|||
String command;
|
||||
String argument;
|
||||
if (path == null) {
|
||||
command = "SplitFile";
|
||||
command = toolName;
|
||||
} else {
|
||||
command = path + File.separatorChar + "SplitFile";
|
||||
command = path + File.separator + toolName;
|
||||
}
|
||||
|
||||
//
|
||||
// argument of tools
|
||||
//
|
||||
argument = inputFile + " " + offset;
|
||||
argument = "" + inputFile + offset;
|
||||
|
||||
//
|
||||
// return value of fwimage execution
|
||||
|
@ -91,21 +100,24 @@ public class SplitfileTask extends Task implements EfiDefine {
|
|||
|
||||
runner.setAntRun(project);
|
||||
runner.setCommandline(cmdline.getCommandline());
|
||||
runner.setWorkingDirectory(new File(outputDir));
|
||||
|
||||
EdkLog.log(this, EdkLog.EDK_VERBOSE, Commandline.toString(cmdline.getCommandline()));
|
||||
EdkLog.log(this, EdkLog.EDK_INFO, (new File(this.inputFile)).getName());
|
||||
String fileName = inputFile.toFileList();
|
||||
EdkLog.log(this, EdkLog.EDK_INFO, fileName + " => " + fileName + "1 " + fileName + "2");
|
||||
|
||||
revl = runner.execute();
|
||||
if (EFI_SUCCESS == revl) {
|
||||
//
|
||||
// command execution success
|
||||
//
|
||||
EdkLog.log(this, EdkLog.EDK_VERBOSE, "SplitFile 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("SplitFile failed!");
|
||||
throw new BuildException(toolName + " failed!");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
throw new BuildException(e.getMessage());
|
||||
|
@ -113,26 +125,26 @@ public class SplitfileTask extends Task implements EfiDefine {
|
|||
}
|
||||
|
||||
/**
|
||||
* getInputFile
|
||||
*
|
||||
* This function is to get class member "inputFile".
|
||||
*
|
||||
* @return string of input file name.
|
||||
*/
|
||||
getInputFile
|
||||
|
||||
This function is to get class member "inputFile".
|
||||
|
||||
@return string of input file name.
|
||||
**/
|
||||
public String getInputFile() {
|
||||
return inputFile;
|
||||
return inputFile.getValue();
|
||||
}
|
||||
|
||||
/**
|
||||
* setComponentType
|
||||
*
|
||||
* This function is to set class member "inputFile".
|
||||
*
|
||||
* @param inputFile
|
||||
* string of input file name.
|
||||
*/
|
||||
setComponentType
|
||||
|
||||
This function is to set class member "inputFile".
|
||||
|
||||
@param inputFile
|
||||
string of input file name.
|
||||
**/
|
||||
public void setInputFile(String inputFile) {
|
||||
this.inputFile = inputFile;
|
||||
this.inputFile.setArg(" ", inputFile);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -143,7 +155,7 @@ public class SplitfileTask extends Task implements EfiDefine {
|
|||
@return offset value of string.
|
||||
**/
|
||||
public String getOffset() {
|
||||
return offset;
|
||||
return offset.getValue();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -155,7 +167,29 @@ public class SplitfileTask extends Task implements EfiDefine {
|
|||
string of offset value.
|
||||
**/
|
||||
public void setOffset(String offset) {
|
||||
this.offset = offset;
|
||||
this.offset.setArg(" ", offset);
|
||||
}
|
||||
|
||||
/**
|
||||
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.
|
||||
**/
|
||||
public void setOutputDir(String outputDir) {
|
||||
this.outputDir = outputDir;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -44,16 +44,21 @@ import org.tianocore.common.logger.EdkLog;
|
|||
-outputHpk : create an HII export pack of the strings
|
||||
**/
|
||||
public class StrGatherTask extends Task implements EfiDefine {
|
||||
///
|
||||
/// common options
|
||||
///
|
||||
//
|
||||
// Tool name
|
||||
//
|
||||
private static String toolName = "StrGather";
|
||||
|
||||
//
|
||||
// common options
|
||||
//
|
||||
private ToolArg commandType = new ToolArg();
|
||||
|
||||
private ToolArg baseName = new ToolArg();
|
||||
|
||||
///
|
||||
/// "all/read/write"
|
||||
///
|
||||
//
|
||||
// "all/read/write"
|
||||
//
|
||||
private ToolArg verbose = new ToolArg();
|
||||
|
||||
private FileArg outputDatabase = new FileArg();
|
||||
|
@ -62,25 +67,25 @@ public class StrGatherTask extends Task implements EfiDefine {
|
|||
|
||||
private InputFile inputFileList = new InputFile();
|
||||
|
||||
///
|
||||
/// parse options newDatabase -- "ture/false" unquoteString -- "ture/false"
|
||||
///
|
||||
//
|
||||
// parse options newDatabase -- "ture/false" unquoteString -- "ture/false"
|
||||
//
|
||||
private ToolArg newDatabase = new ToolArg();
|
||||
|
||||
private ToolArg unquotedString = new ToolArg();
|
||||
|
||||
private IncludePath includePathList = new IncludePath();
|
||||
|
||||
///
|
||||
/// scan options ignoreNotFound -- "ture/false"
|
||||
///
|
||||
//
|
||||
// scan options ignoreNotFound -- "ture/false"
|
||||
//
|
||||
private ToolArg ignoreNotFound = new ToolArg();
|
||||
|
||||
private SkipExt skipExtList = new SkipExt();
|
||||
|
||||
///
|
||||
/// dump options
|
||||
///
|
||||
//
|
||||
// dump options
|
||||
//
|
||||
private ToolArg outputString = new ToolArg();
|
||||
|
||||
private ToolArg outputDefines = new ToolArg();
|
||||
|
@ -93,9 +98,9 @@ public class StrGatherTask extends Task implements EfiDefine {
|
|||
|
||||
private FileArg outputHpk = new FileArg();
|
||||
|
||||
///
|
||||
/// global variable
|
||||
///
|
||||
//
|
||||
// global variable
|
||||
//
|
||||
static private Project project;
|
||||
|
||||
/**
|
||||
|
@ -112,9 +117,9 @@ public class StrGatherTask extends Task implements EfiDefine {
|
|||
String path = project.getProperty("env.FRAMEWORK_TOOLS_PATH");
|
||||
String command;
|
||||
if (path == null) {
|
||||
command = "StrGather";
|
||||
command = toolName;
|
||||
} else {
|
||||
command = path + File.separator + "StrGather";
|
||||
command = path + File.separator + toolName;
|
||||
}
|
||||
|
||||
///
|
||||
|
@ -157,13 +162,13 @@ public class StrGatherTask extends Task implements EfiDefine {
|
|||
|
||||
revl = runner.execute();
|
||||
if (EFI_SUCCESS == revl) {
|
||||
EdkLog.log(this, EdkLog.EDK_VERBOSE, "StrGather succeeded!");
|
||||
EdkLog.log(this, EdkLog.EDK_VERBOSE, toolName + " succeeded!");
|
||||
} else {
|
||||
///
|
||||
/// command execution fail
|
||||
///
|
||||
EdkLog.log(this, "ERROR = " + Integer.toHexString(revl));
|
||||
throw new BuildException("StrGather failed!");
|
||||
throw new BuildException(toolName + " failed!");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
throw new BuildException(e.getMessage());
|
||||
|
|
|
@ -33,30 +33,34 @@ import org.tianocore.common.logger.EdkLog;
|
|||
StripTask is used to call Strip.exe to strip input file.
|
||||
*/
|
||||
public class StripTask extends Task implements EfiDefine {
|
||||
// /
|
||||
// / input file
|
||||
// /
|
||||
private String inputFile = "";
|
||||
//
|
||||
//
|
||||
//
|
||||
private static String toolName = "Strip";
|
||||
//
|
||||
// input file
|
||||
//
|
||||
private FileArg inputFile = new FileArg();
|
||||
|
||||
// /
|
||||
// / output file
|
||||
// /
|
||||
private String outputFile = "";
|
||||
//
|
||||
// output file
|
||||
//
|
||||
private FileArg outputFile = new FileArg();
|
||||
|
||||
// /
|
||||
// / output directory, this variable is added by jave wrap
|
||||
// /
|
||||
private String outputDir = "";
|
||||
//
|
||||
// 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();
|
||||
|
@ -67,21 +71,18 @@ public class StripTask extends Task implements EfiDefine {
|
|||
String path = project.getProperty("env.FRAMEWORK_TOOLS_PATH");
|
||||
String command;
|
||||
String argument;
|
||||
|
||||
if (path == null) {
|
||||
command = "Strip";
|
||||
command = toolName;
|
||||
} else {
|
||||
command = path + File.separatorChar + "Strip";
|
||||
command = path + File.separator + toolName;
|
||||
}
|
||||
|
||||
//
|
||||
// argument of tools
|
||||
//
|
||||
File file = new File(outputFile);
|
||||
if (!file.isAbsolute() && (!this.outputDir.equalsIgnoreCase(""))) {
|
||||
argument = inputFile + " " + outputDir + File.separatorChar
|
||||
+ outputFile;
|
||||
} else {
|
||||
argument = inputFile + " " + outputFile;
|
||||
}
|
||||
argument = "" + inputFile + outputFile;
|
||||
|
||||
//
|
||||
// return value of fwimage execution
|
||||
//
|
||||
|
@ -98,11 +99,13 @@ public class StripTask 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.inputFile)).getName());
|
||||
EdkLog.log(this, EdkLog.EDK_INFO, inputFile.toFileList() + " => " + outputFile.toFileList());
|
||||
|
||||
revl = runner.execute();
|
||||
|
||||
|
@ -110,13 +113,13 @@ public class StripTask extends Task implements EfiDefine {
|
|||
//
|
||||
// command execution success
|
||||
//
|
||||
EdkLog.log(this, EdkLog.EDK_VERBOSE, "Strip 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("Strip failed!");
|
||||
throw new BuildException(toolName + " failed!");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
throw new BuildException(e.getMessage());
|
||||
|
@ -124,70 +127,70 @@ public class StripTask extends Task implements EfiDefine {
|
|||
}
|
||||
|
||||
/**
|
||||
* getInputFile
|
||||
*
|
||||
* This function is to get class member "inputFile".
|
||||
*
|
||||
* @return string of input file name.
|
||||
*/
|
||||
getInputFile
|
||||
|
||||
This function is to get class member "inputFile".
|
||||
|
||||
@return string of input file name.
|
||||
**/
|
||||
public String getInputFile() {
|
||||
return inputFile;
|
||||
return inputFile.getValue();
|
||||
}
|
||||
|
||||
/**
|
||||
* setComponentType
|
||||
*
|
||||
* This function is to set class member "inputFile".
|
||||
*
|
||||
* @param inputFile
|
||||
* string of input file name.
|
||||
*/
|
||||
setComponentType
|
||||
|
||||
This function is to set class member "inputFile".
|
||||
|
||||
@param inputFile
|
||||
string of input file name.
|
||||
**/
|
||||
public void setInputFile(String inputFile) {
|
||||
this.inputFile = inputFile;
|
||||
this.inputFile.setArg(" ", inputFile);
|
||||
}
|
||||
|
||||
/**
|
||||
* 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;
|
||||
}
|
||||
|
|
|
@ -49,7 +49,7 @@ public class Tool implements EfiDefine, Section {
|
|||
try {
|
||||
executeTool ();
|
||||
} catch (Exception e) {
|
||||
throw new BuildException("Call to executeTool failed!\n");
|
||||
throw new BuildException("Call to executeTool failed!\n" + e.getMessage());
|
||||
}
|
||||
|
||||
///
|
||||
|
@ -83,7 +83,7 @@ public class Tool implements EfiDefine, Section {
|
|||
buffer.writeByte(0);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
System.out.print(e.getMessage());
|
||||
EdkLog.log(e.getMessage());
|
||||
throw new BuildException("Tool call, toBuffer failed!\n");
|
||||
} finally {
|
||||
try {
|
||||
|
@ -94,7 +94,7 @@ public class Tool implements EfiDefine, Section {
|
|||
fs.close();
|
||||
}
|
||||
} catch (Exception e) {
|
||||
System.out.println("WARNING: Cannot close " + outputFile.getPath());
|
||||
EdkLog.log("WARNING: Cannot close " + outputFile.getPath());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -129,7 +129,7 @@ public class Tool implements EfiDefine, Section {
|
|||
sect.toBuffer(Do);
|
||||
}
|
||||
catch (BuildException e) {
|
||||
System.out.print(e.getMessage());
|
||||
EdkLog.log(e.getMessage());
|
||||
throw new BuildException ("GenSection failed at Tool!");
|
||||
}
|
||||
Do.close();
|
||||
|
@ -150,7 +150,7 @@ public class Tool implements EfiDefine, Section {
|
|||
Process process = Runtime.getRuntime().exec(command + " " + argument);
|
||||
process.waitFor();
|
||||
} catch (Exception e) {
|
||||
System.out.print (e.getMessage());
|
||||
EdkLog.log(e.getMessage());
|
||||
throw new BuildException("Execution of externalTool task failed!\n");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -33,30 +33,34 @@ import org.tianocore.common.logger.EdkLog;
|
|||
ZeroDebugDataTask is used to call ZeroDebugData.exe to remove debug data.
|
||||
**/
|
||||
public class ZeroDebugDataTask extends Task implements EfiDefine {
|
||||
// /
|
||||
// / input PE file
|
||||
// /
|
||||
private String peFile = "";
|
||||
//
|
||||
// Tool name
|
||||
//
|
||||
private static String toolName = "ZeroDebugData";
|
||||
//
|
||||
// input PE file
|
||||
//
|
||||
private FileArg peFile = new FileArg();
|
||||
|
||||
// /
|
||||
// / output file
|
||||
// /
|
||||
private String outputFile = "DebugData.dat";
|
||||
//
|
||||
// output file
|
||||
//
|
||||
private FileArg outputFile = new FileArg(" ", "DebugData.dat");
|
||||
|
||||
// /
|
||||
// / output directory, this variable is added by jave wrap
|
||||
// /
|
||||
private String outputDir = "";
|
||||
//
|
||||
// output directory, this variable is added by jave wrap
|
||||
//
|
||||
private String outputDir = ".";
|
||||
|
||||
|
||||
/**
|
||||
* execute
|
||||
*
|
||||
* ZeroDebugDataTask execute function is to assemble tool command line & execute
|
||||
* tool command line
|
||||
*
|
||||
* @throws BuidException
|
||||
*/
|
||||
execute
|
||||
|
||||
ZeroDebugDataTask execute function is to assemble tool command line & execute
|
||||
tool command line
|
||||
|
||||
@throws BuidException
|
||||
**/
|
||||
public void execute() throws BuildException {
|
||||
|
||||
Project project = this.getOwningTarget().getProject();
|
||||
|
@ -68,20 +72,16 @@ public class ZeroDebugDataTask extends Task implements EfiDefine {
|
|||
String command;
|
||||
String argument;
|
||||
if (path == null) {
|
||||
command = "ZeroDebugData";
|
||||
command = toolName;
|
||||
} else {
|
||||
command = path + File.separatorChar + "ZeroDebugData";
|
||||
command = path + File.separatorChar + toolName;
|
||||
}
|
||||
|
||||
//
|
||||
// argument of tools
|
||||
//
|
||||
File file = new File(outputFile);
|
||||
if (!file.isAbsolute() && (!this.outputDir.equalsIgnoreCase(""))) {
|
||||
argument = this.peFile + " " + outputDir + File.separatorChar
|
||||
+ outputFile;
|
||||
} else {
|
||||
argument = this.peFile + " " + outputFile;
|
||||
}
|
||||
argument = "" + peFile + outputFile;
|
||||
|
||||
//
|
||||
// return value of fwimage execution
|
||||
//
|
||||
|
@ -98,11 +98,12 @@ public class ZeroDebugDataTask 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.peFile)).getName());
|
||||
EdkLog.log(this, EdkLog.EDK_INFO, peFile.toFileList() + " => " + outputFile.toFileList());
|
||||
|
||||
revl = runner.execute();
|
||||
|
||||
|
@ -117,7 +118,6 @@ public class ZeroDebugDataTask extends Task implements EfiDefine {
|
|||
//
|
||||
EdkLog.log(this, EdkLog.EDK_INFO, "ERROR = " + Integer.toHexString(revl));
|
||||
throw new BuildException("ZeroDebugData failed!");
|
||||
|
||||
}
|
||||
} catch (Exception e) {
|
||||
throw new BuildException(e.getMessage());
|
||||
|
@ -125,70 +125,70 @@ public class ZeroDebugDataTask extends Task implements EfiDefine {
|
|||
}
|
||||
|
||||
/**
|
||||
* getPeFile
|
||||
*
|
||||
* This function is to get class member "inputFile".
|
||||
*
|
||||
* @return string of input file name.
|
||||
*/
|
||||
getPeFile
|
||||
|
||||
This function is to get class member "inputFile".
|
||||
|
||||
@return string of input file name.
|
||||
**/
|
||||
public String getPeFile() {
|
||||
return this.peFile;
|
||||
return this.peFile.getValue();
|
||||
}
|
||||
|
||||
/**
|
||||
* setPeFile
|
||||
*
|
||||
* This function is to set class member "peFile".
|
||||
*
|
||||
* @param peFile
|
||||
* string of input file name.
|
||||
*/
|
||||
setPeFile
|
||||
|
||||
This function is to set class member "peFile".
|
||||
|
||||
@param peFile
|
||||
string of input file name.
|
||||
**/
|
||||
public void setPeFile(String peFile) {
|
||||
this.peFile = peFile;
|
||||
this.peFile.setArg(" ", peFile);
|
||||
}
|
||||
|
||||
/**
|
||||
* 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 this.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;
|
||||
}
|
||||
|
|
|
@ -15,6 +15,7 @@ package org.tianocore.build.global;
|
|||
|
||||
import org.apache.tools.ant.types.DataType;
|
||||
import org.apache.tools.ant.types.Path;
|
||||
import org.apache.tools.ant.BuildException;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileReader;
|
||||
|
@ -77,7 +78,7 @@ public class DpFile extends DataType {
|
|||
lineReader.close();
|
||||
fileReader.close();
|
||||
} catch (IOException e) {
|
||||
System.out.println (e.getMessage());
|
||||
throw new BuildException(e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -50,7 +50,7 @@ public class ConfigReader {
|
|||
|
||||
@return String[][] The variables defined in the config file
|
||||
|
||||
@throws EdkException
|
||||
@throws GenBuildException
|
||||
Config file's format is not valid
|
||||
**/
|
||||
public static synchronized String[][] parse(File configFile) throws GenBuildException {
|
||||
|
@ -78,7 +78,8 @@ public class ConfigReader {
|
|||
//
|
||||
int index;
|
||||
if ((index = str.indexOf('=')) <= 0) {
|
||||
throw new GenBuildException("ERROR Processing file [" + configFile.getAbsolutePath()
|
||||
throw new GenBuildException("ERROR Processing file ["
|
||||
+ configFile.getAbsolutePath()
|
||||
+ "] (line " + lines + ").\n");
|
||||
}
|
||||
|
||||
|
@ -88,9 +89,12 @@ public class ConfigReader {
|
|||
keyList.add(str.substring(0, index).trim());
|
||||
valueList.add(str.substring(index + 1).trim());
|
||||
}
|
||||
} catch (Exception e) {
|
||||
throw new GenBuildException("ERROR Processing file [" + configFile.getAbsolutePath()
|
||||
+ "] (line " + lines + ").\n" + e.getMessage());
|
||||
} catch (Exception ex) {
|
||||
GenBuildException e = new GenBuildException("ERROR Processing file ["
|
||||
+ configFile.getAbsolutePath()
|
||||
+ "] (line " + lines + ").\n" + ex.getMessage());
|
||||
e.setStackTrace(ex.getStackTrace());
|
||||
throw e;
|
||||
}
|
||||
|
||||
String[][] definitions = new String[2][keyList.size()];
|
||||
|
|
Loading…
Reference in New Issue