+++ /dev/null
-/** @file\r
- GuidChkTask class.\r
-\r
- GuidChkTask is to call GuidChk.exe to generate Section.\r
- \r
- Copyright (c) 2006, Intel Corporation\r
- All rights reserved. This program and the accompanying materials\r
- are licensed and made available under the terms and conditions of the BSD License\r
- which accompanies this distribution. The full text of the license may be found at\r
- http://opensource.org/licenses/bsd-license.php\r
- \r
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
- \r
-**/\r
-package org.tianocore.framework.tasks;\r
-import java.io.BufferedReader;\r
-import java.io.InputStreamReader;\r
-import java.io.PrintWriter;\r
-import java.io.File;\r
-\r
-import org.apache.tools.ant.BuildException;\r
-import org.apache.tools.ant.Project;\r
-import org.apache.tools.ant.Task;\r
-\r
-import org.tianocore.common.logger.EdkLog;\r
-\r
-/**\r
- GuidChkTask\r
- \r
- GuidChkTask is to call GuidChk.exe to generate Section.\r
- \r
-**/\r
-public class GuidChkTask extends Task implements EfiDefine{\r
- /**\r
- * GuidChk task class\r
- * class member\r
- * -exDir : directory name of exclusion searching \r
- * -exFile : file name of exclusion searching\r
- * -exExt : extension name of exclusion searching\r
- * -exSubDir: extesnion name of sub dir which excluded searching\r
- * -outFile : out put file wrote internal GUID+basename list\r
- * -chkGui : check for duplicate guids\r
- * -chkSign : check for duplicate signatures\r
- * -printGuiDef : if set will print guid+defined symbol name\r
- * -printAllGuid: if set will print all GUIDS found\r
- * -outPut : redirection file name\r
- * -fos : out put redirect to this file \r
- * \r
- */\r
- //\r
- // Tool name\r
- // \r
- private static String toolName = "GuidChk";\r
- //\r
- // Directory name of exclusion searching \r
- //\r
- private FileArg exDir = new FileArg();\r
- //\r
- // File name of exclusion searching.\r
- //\r
- private FileArg exFile = new FileArg();\r
- //\r
- // Extension name of exclusion searching.\r
- //\r
- private FileArg exExt = new FileArg();\r
- //\r
- // Extesnion name of sub dir which excluded searching.\r
- //\r
- private FileArg exSubDir = new FileArg();\r
- //\r
- // Out put file wrote internal GUID+basename list\r
- //\r
- private FileArg outFile = new FileArg();\r
- //\r
- // Check for duplicate guids.\r
- //\r
- private ToolArg chkGui = new ToolArg();\r
- //\r
- // Check for duplicate signatures\r
- //\r
- private ToolArg chkSign = new ToolArg();\r
- //\r
- // If set will print guid+defined symbol name\r
- //\r
- private ToolArg printGuiDef = new ToolArg();\r
- //\r
- // If set will print all GUIDS found\r
- //\r
- private ToolArg printAllGuid = new ToolArg();\r
- //\r
- // redirection file name.\r
- //\r
- private String outPut = "";\r
- //\r
- // out put redirect to this file.\r
- //\r
- protected PrintWriter fos = null;\r
- \r
- //\r
- // overload class execute method\r
- // \r
- public void execute() throws BuildException {\r
- Project project = this.getOwningTarget().getProject();\r
- String path = project.getProperty("env.FRAMEWORK_TOOLS_PATH");\r
- String command;\r
- if (path == null) {\r
- command = toolName;\r
- } else {\r
- command = path + File.separatorChar + toolName;\r
- }\r
- String argument = "" + exDir +\r
- exFile +\r
- exExt +\r
- exSubDir +\r
- outFile +\r
- chkGui +\r
- chkSign +\r
- printGuiDef + \r
- printAllGuid; \r
- try {\r
- EdkLog.log(this, EdkLog.EDK_VERBOSE, command + " " + argument);\r
- //\r
- // execute command line \r
- //\r
- Process proc = Runtime.getRuntime().exec(command + " " + argument);\r
- //\r
- // if set output, redirect out put to output file, else print output to screen\r
- // \r
- if ( !this.outPut.equals("")) {\r
- fos = new PrintWriter(this.outPut);\r
- BufferedReader bin = new BufferedReader(new InputStreamReader(proc.getInputStream()));\r
- String line = bin.readLine();\r
- while (line != null ){ \r
- fos.println(line);\r
- line = bin.readLine();\r
- }\r
- fos.close();\r
- }\r
- else {\r
- BufferedReader bin = new BufferedReader(new InputStreamReader(proc.getInputStream()));\r
- String line = bin.readLine();\r
- while (line != null ){\r
- line = bin.readLine();\r
- } \r
- } \r
- EdkLog.log(this, EdkLog.EDK_VERBOSE, toolName + " Succeeded!");\r
- } catch (Exception e) {\r
- throw new BuildException(toolName + " failed!");\r
- }\r
- }\r
- /**\r
- getChkGui\r
- \r
- This function is to get the string of flag of ChkGui\r
- \r
- @return string of flag of ChkGui\r
- **/\r
- public String getChkGui() {\r
- return chkGui.getValue();\r
- }\r
- \r
- /**\r
- setChkGui\r
- \r
- This function is to set chkGui\r
- \r
- @param chkGui set class member of chkGui\r
- **/\r
- public void setChkGui(boolean chkGui) {\r
- if (chkGui) {\r
- this.chkGui.setArg(" -", "g");\r
- } \r
- }\r
- \r
- /**\r
- getChkSign\r
- \r
- This function is to get chkSign\r
- \r
- @return chkSign\r
- **/\r
- public String getChkSign() {\r
- return chkSign.getValue();\r
- }\r
- \r
- /**\r
- setChkSign\r
- \r
- This function is to set class member of chkSign\r
- * @param chkSign\r
- */\r
- public void setChkSign(boolean chkSign) {\r
- if (chkSign){\r
- this.chkSign.setArg(" -", "s");\r
- } \r
- }\r
- /**\r
- getExDir\r
- \r
- This function is to get class member of exDir\r
- \r
- @return exDir\r
- **/\r
- public String getExDir() {\r
- return exDir.getValue();\r
- }\r
- \r
- /**\r
- setExDir\r
- \r
- This function is to set class member of exDir\r
- \r
- @param exDir\r
- **/\r
- public void setExDir(String exDir) {\r
- this.exDir.setArg(" -d ", exDir);\r
- }\r
- \r
- /**\r
- getExExt\r
- \r
- This function is to get class member of exExt\r
- \r
- @return exExt\r
- **/\r
- public String getExExt() {\r
- return exExt.getValue();\r
- }\r
- \r
- /**\r
- setExExt\r
- \r
- This function is to set class member of exExt\r
- @param exExt\r
- **/\r
- public void setExExt(String exExt) {\r
- this.exExt.setArg(" -e ", exExt);\r
- }\r
- \r
- /**\r
- getExFile\r
- \r
- This function is to get class member of exFile\r
- @return exFile\r
- **/\r
- public String getExFile() {\r
- return exFile.getValue();\r
- }\r
- \r
- /**\r
- setExFile\r
- \r
- This function is to set class member of exFile.\r
- \r
- @param exFile\r
- **/\r
- public void setExFile(String exFile) {\r
- this.exFile.setArg(" -f ", exFile);\r
- }\r
- \r
- /**\r
- getExSubDir\r
- \r
- This function is to get class member of exSubDir\r
- \r
- @return exSubDir\r
- **/\r
- public String getExSubDir() {\r
- return exSubDir.getValue();\r
- }\r
- \r
- /**\r
- setExSubDir\r
- \r
- This function is to set class member of exSubDir.\r
- @param exSubDir\r
- **/\r
- public void setExSubDir(String exSubDir) {\r
- this.exSubDir.setArg(" -u ", exSubDir);\r
- }\r
- \r
- /**\r
- getOutFile\r
- \r
- This function is to get outFile\r
- \r
- @return outFile\r
- **/\r
- public String getOutFile() {\r
- return outFile.getValue();\r
- }\r
- /**\r
- * set class member of outFile\r
- * @param outFile\r
- */\r
- public void setOutFile(String outFile) {\r
- this.outFile.setArg(" -b ", outFile);\r
- }\r
- /**\r
- getPrintGuidDef\r
- \r
- This function is to get printGuidDef\r
- \r
- @return flage of printing (guid+defined symbol name)\r
- **/\r
- public String getPrintGuiDef() {\r
- return printGuiDef.getValue();\r
- }\r
- \r
- \r
- /**\r
- setPrintGuidDef\r
- \r
- This function is to set class member of printGuiDef.\r
- @param printGuiDef\r
- **/\r
- public void setPrintGuiDef(boolean printGuiDef) {\r
- if (printGuiDef){\r
- this.printGuiDef.setArg(" -", "x");\r
- }\r
- \r
- }\r
- \r
- /**\r
- getOutput\r
- \r
- This function is to get output\r
- \r
- @return name of outPut file\r
- **/\r
- public String getOutPut() {\r
- return outPut;\r
- }\r
- \r
- /**\r
- setOutPut\r
- \r
- This function is to set class member of outPut.\r
- @param outPut\r
- **/\r
- public void setOutPut(String outPut) {\r
- this.outPut = outPut;\r
- }\r
- \r
- /**\r
- getPrintAllGuid\r
- \r
- This function is to get printAllGuid\r
- @return printAllGuid\r
- **/\r
- public String getPrintAllGuid() {\r
- return printAllGuid.getValue();\r
- }\r
- \r
- /**\r
- setPrintAllGuid\r
- \r
- This function is to set class member of printAllGuid.\r
- @param printAllGuid\r
- **/\r
- public void setPrintAllGuid(boolean printAllGuid) {\r
- if (printAllGuid) {\r
- this.printAllGuid.setArg(" -", "p");\r
- } \r
- }\r
-}\r
-\r