1. Add an option to keep old database when start ecc tool
authorhche10x <hche10x@7335b38e-4728-0410-8992-fb3ffe349368>
Mon, 17 Mar 2008 08:09:57 +0000 (08:09 +0000)
committerhche10x <hche10x@7335b38e-4728-0410-8992-fb3ffe349368>
Mon, 17 Mar 2008 08:09:57 +0000 (08:09 +0000)
2. Enable binary module checkpoints in Fdf file.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1072 7335b38e-4728-0410-8992-fb3ffe349368

Source/Python/Ecc/Check.py
Source/Python/Ecc/Ecc.py

index 920936b..6d75639 100644 (file)
@@ -71,7 +71,7 @@ class Check(object):
                             print Msg\r
             print 'Done'                \r
                             \r
-    #        \r
+    #\r
     # Check whether the first line of text in a comment block is a brief description of the element being documented. \r
     # The brief description must end with a period.\r
     #\r
@@ -172,8 +172,11 @@ class Check(object):
                 FdfID = Record[0]\r
                 FilePath = Record[1]\r
                 FilePath = os.path.normpath(os.path.join(EccGlobalData.gWorkspace, FilePath))\r
-                SqlCommand = """select * from Inf where BelongsToFile = (select ID from File where FullPath like '%s')""" % FilePath\r
+                SqlCommand = """select ID from Inf where Model = %s and BelongsToFile = (select ID from File where FullPath like '%s')\r
+                                """ % (MODEL_EFI_SOURCE_FILE, FilePath)\r
                 NewRecordSet = EccGlobalData.gDb.TblFile.Exec(SqlCommand)\r
+                if NewRecordSet!= []:\r
+                    EccGlobalData.gDb.TblReport.Insert(ERROR_META_DATA_FILE_CHECK_BINARY_INF_IN_FDF, OtherMsg = "File %s defined in Fdf file but not in Dsc file should be a binary module" % (FilePath), BelongsToTable = 'Fdf', BelongsToItem = FdfID)\r
 \r
     #\r
     # Check whether a PCD is set in a Dsc file or the FDF file, but not in both.\r
index 9060a39..35d482e 100644 (file)
@@ -43,6 +43,7 @@ class Ecc(object):
         \r
         self.ConfigFile = 'config.ini'\r
         self.OutputFile = 'output.txt'\r
+        self.IsInit = True\r
         \r
         #\r
         # Initialize log system\r
@@ -65,7 +66,7 @@ class Ecc(object):
         # Init Ecc database\r
         #\r
         EccGlobalData.gDb = Database.Database(Database.DATABASE_PATH)\r
-        EccGlobalData.gDb.InitDatabase()\r
+        EccGlobalData.gDb.InitDatabase(self.IsInit)\r
         \r
         #\r
         # Build ECC database\r
@@ -197,6 +198,8 @@ class Ecc(object):
         else:\r
             EdkLogger.warn("Ecc", EdkLogger.ECC_ERROR, "The target source tree is not specified, use current WORKSPACE instead.!")\r
             EccGlobalData.gTarget = os.path.normpath(os.getenv("WORKSPACE"))\r
+        if Options.keepdatabase != None:\r
+            self.IsInit = False\r
            \r
     ## SetLogLevel\r
     #\r
@@ -212,7 +215,7 @@ class Ecc(object):
         elif Option.debug != None:\r
             EdkLogger.SetLevel(Option.debug + 1)\r
         else:\r
-            EdkLogger.SetLevel(EdkLogger.INFO)    \r
+            EdkLogger.SetLevel(EdkLogger.INFO)\r
 \r
     ## Parse command line options\r
     #\r
@@ -230,6 +233,7 @@ class Ecc(object):
         Parser.add_option("-o", "--outfile filename", action="store", type="string", dest="OutputFile",\r
             help="Specify the name of an output file, if and only if one filename was specified.")\r
     \r
+        Parser.add_option("-k", "--keepdatabase", action="store_true", type=None, help="The existing Ecc database will not be cleaned if this option is specified.")\r
         Parser.add_option("-l", "--log filename", action="store", dest="LogFile", help="""If specified, the tool should emit the changes that \r
                                                                                           were made by the tool after printing the result message. \r
                                                                                           If filename, the emit to the file, otherwise emit to \r
@@ -252,4 +256,3 @@ class Ecc(object):
 #\r
 if __name__ == '__main__':\r
     Ecc = Ecc()\r
-\r