Sync EDKII BaseTools to BaseTools project r1971
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10502 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
@ -1,8 +1,8 @@
|
||||
/* @file
|
||||
This file is used to be the grammar file of ECC tool
|
||||
|
||||
Copyright (c) 2009 - 2010, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
|
@ -10,7 +10,7 @@ from antlr3.compat import set, frozenset
|
||||
# This file is generated by running:
|
||||
# java org.antlr.Tool C.g
|
||||
#
|
||||
# Copyright (c) 2009 - 2010, Intel Corporation All rights reserved.
|
||||
# Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
#
|
||||
# This program and the accompanying materials are licensed and made available
|
||||
# under the terms and conditions of the BSD License which accompanies this
|
||||
|
@ -10,7 +10,7 @@ from antlr3.compat import set, frozenset
|
||||
# This file is generated by running:
|
||||
# java org.antlr.Tool C.g
|
||||
#
|
||||
# Copyright (c) 2009 - 2010, Intel Corporation All rights reserved.
|
||||
# Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
#
|
||||
# This program and the accompanying materials are licensed and made available
|
||||
# under the terms and conditions of the BSD License which accompanies this
|
||||
|
@ -1,8 +1,8 @@
|
||||
## @file
|
||||
# This file is used to define checkpoints used by ECC tool
|
||||
#
|
||||
# Copyright (c) 2008 - 2010, Intel Corporation
|
||||
# All rights reserved. This program and the accompanying materials
|
||||
# Copyright (c) 2008 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
# 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
|
||||
@ -341,9 +341,19 @@ class Check(object):
|
||||
|
||||
for Dirpath, Dirnames, Filenames in self.WalkTree():
|
||||
for F in Filenames:
|
||||
if os.path.splitext(F)[1] in ('.h', '.c'):
|
||||
Ext = os.path.splitext(F)[1]
|
||||
if Ext in ('.h', '.c'):
|
||||
FullName = os.path.join(Dirpath, F)
|
||||
MsgList = c.CheckFileHeaderDoxygenComments(FullName)
|
||||
elif Ext in ('.inf', '.dec', '.dsc', '.fdf'):
|
||||
FullName = os.path.join(Dirpath, F)
|
||||
if not open(FullName).read().startswith('## @file'):
|
||||
SqlStatement = """ select ID from File where FullPath like '%s'""" % FullName
|
||||
ResultSet = EccGlobalData.gDb.TblFile.Exec(SqlStatement)
|
||||
for Result in ResultSet:
|
||||
Msg = 'INF/DEC/DSC/FDF file header comment should begin with ""## @file""'
|
||||
EccGlobalData.gDb.TblReport.Insert(ERROR_DOXYGEN_CHECK_FILE_HEADER, Msg, "File", Result[0])
|
||||
|
||||
|
||||
# Check whether the function headers are followed Doxygen special documentation blocks in section 2.3.5
|
||||
def DoxygenCheckFunctionHeader(self):
|
||||
@ -399,6 +409,7 @@ class Check(object):
|
||||
self.MetaDataFileCheckGuidDuplicate()
|
||||
self.MetaDataFileCheckModuleFileNoUse()
|
||||
self.MetaDataFileCheckPcdType()
|
||||
self.MetaDataFileCheckModuleFileGuidDuplication()
|
||||
|
||||
# Check whether each file defined in meta-data exists
|
||||
def MetaDataFileCheckPathName(self):
|
||||
@ -692,6 +703,38 @@ class Check(object):
|
||||
#ERROR_META_DATA_FILE_CHECK_PCD_TYPE
|
||||
pass
|
||||
|
||||
# Internal worker function to get the INF workspace relative path from FileID
|
||||
def GetInfFilePathFromID(self, FileID):
|
||||
Table = EccGlobalData.gDb.TblFile
|
||||
SqlCommand = """select A.FullPath from %s as A where A.ID = %s""" % (Table.Table, FileID)
|
||||
RecordSet = Table.Exec(SqlCommand)
|
||||
Path = ""
|
||||
for Record in RecordSet:
|
||||
Path = Record[0].replace(EccGlobalData.gWorkspace, '')
|
||||
if Path.startswith('\\') or Path.startswith('/'):
|
||||
Path = Path[1:]
|
||||
return Path
|
||||
|
||||
# Check whether two module INFs under one workspace has the same FILE_GUID value
|
||||
def MetaDataFileCheckModuleFileGuidDuplication(self):
|
||||
if EccGlobalData.gConfig.MetaDataFileCheckModuleFileGuidDuplication == '1' or EccGlobalData.gConfig.MetaDataFileCheckAll == '1' or EccGlobalData.gConfig.CheckAll == '1':
|
||||
EdkLogger.quiet("Checking for pcd type in c code function usage ...")
|
||||
Table = EccGlobalData.gDb.TblInf
|
||||
SqlCommand = """
|
||||
select A.ID, A.Value2, A.BelongsToFile, B.BelongsToFile from %s as A, %s as B
|
||||
where A.Value1 = 'FILE_GUID' and B.Value1 = 'FILE_GUID' and
|
||||
A.Value2 = B.Value2 and A.ID <> B.ID group by A.ID
|
||||
""" % (Table.Table, Table.Table)
|
||||
RecordSet = Table.Exec(SqlCommand)
|
||||
for Record in RecordSet:
|
||||
InfPath1 = self.GetInfFilePathFromID(Record[2])
|
||||
InfPath2 = self.GetInfFilePathFromID(Record[3])
|
||||
if InfPath1 and InfPath2:
|
||||
if not EccGlobalData.gException.IsException(ERROR_META_DATA_FILE_CHECK_MODULE_FILE_GUID_DUPLICATION, InfPath1):
|
||||
Msg = "The FILE_GUID of INF file [%s] is duplicated with that of %s" % (InfPath1, InfPath2)
|
||||
EccGlobalData.gDb.TblReport.Insert(ERROR_META_DATA_FILE_CHECK_MODULE_FILE_GUID_DUPLICATION, OtherMsg = Msg, BelongsToTable = Table.Table, BelongsToItem = Record[0])
|
||||
|
||||
|
||||
# Check whether these is duplicate Guid/Ppi/Protocol name
|
||||
def CheckGuidProtocolPpi(self, ErrorID, Model, Table):
|
||||
Name = ''
|
||||
|
@ -1,9 +1,9 @@
|
||||
## @file
|
||||
# fragments of source file
|
||||
#
|
||||
# Copyright (c) 2007, Intel Corporation
|
||||
# Copyright (c) 2007, Intel Corporation. All rights reserved.<BR>
|
||||
#
|
||||
# All rights reserved. This program and the accompanying materials
|
||||
# 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
|
||||
|
@ -1,9 +1,9 @@
|
||||
## @file
|
||||
# preprocess source file
|
||||
#
|
||||
# Copyright (c) 2007, Intel Corporation
|
||||
# Copyright (c) 2007, Intel Corporation. All rights reserved.<BR>
|
||||
#
|
||||
# All rights reserved. This program and the accompanying materials
|
||||
# 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
|
||||
|
@ -1,8 +1,8 @@
|
||||
## @file
|
||||
# This file is used to define class Configuration
|
||||
#
|
||||
# Copyright (c) 2008, Intel Corporation
|
||||
# All rights reserved. This program and the accompanying materials
|
||||
# Copyright (c) 2008, Intel Corporation. All rights reserved.<BR>
|
||||
# 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
|
||||
@ -222,7 +222,9 @@ class Configuration(object):
|
||||
self.MetaDataFileCheckModuleFileNoUse = 1
|
||||
# Check whether the PCD is correctly used in C function via its type
|
||||
self.MetaDataFileCheckPcdType = 1
|
||||
|
||||
# Check whether there are FILE_GUID duplication among different INF files
|
||||
self.MetaDataFileCheckModuleFileGuidDuplication = 1
|
||||
|
||||
#
|
||||
# The check points in this section are reserved
|
||||
#
|
||||
|
@ -1,8 +1,8 @@
|
||||
## @file
|
||||
# This file is used to create a database used by ECC tool
|
||||
#
|
||||
# Copyright (c) 2007 ~ 2008, Intel Corporation
|
||||
# All rights reserved. This program and the accompanying materials
|
||||
# Copyright (c) 2007 - 2008, Intel Corporation. All rights reserved.<BR>
|
||||
# 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
|
||||
|
@ -1,8 +1,8 @@
|
||||
## @file
|
||||
# This file is used to be the main entrance of ECC tool
|
||||
#
|
||||
# Copyright (c) 2009 - 2010, Intel Corporation
|
||||
# All rights reserved. This program and the accompanying materials
|
||||
# Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
# 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
|
||||
|
@ -1,8 +1,8 @@
|
||||
## @file
|
||||
# This file is used to save global datas used by ECC tool
|
||||
#
|
||||
# Copyright (c) 2008, Intel Corporation
|
||||
# All rights reserved. This program and the accompanying materials
|
||||
# Copyright (c) 2008, Intel Corporation. All rights reserved.<BR>
|
||||
# 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
|
||||
|
@ -1,8 +1,8 @@
|
||||
## @file
|
||||
# Standardized Error Hanlding infrastructures.
|
||||
#
|
||||
# Copyright (c) 2008 - 2010, Intel Corporation
|
||||
# All rights reserved. This program and the accompanying materials
|
||||
# Copyright (c) 2008 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
# 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
|
||||
@ -92,6 +92,7 @@ ERROR_META_DATA_FILE_CHECK_DUPLICATE_PROTOCOL = 10012
|
||||
ERROR_META_DATA_FILE_CHECK_DUPLICATE_PPI = 10013
|
||||
ERROR_META_DATA_FILE_CHECK_MODULE_FILE_NO_USE = 10014
|
||||
ERROR_META_DATA_FILE_CHECK_PCD_TYPE = 10015
|
||||
ERROR_META_DATA_FILE_CHECK_MODULE_FILE_GUID_DUPLICATION = 10016
|
||||
|
||||
ERROR_SPELLING_CHECK_ALL = 11000
|
||||
|
||||
@ -177,7 +178,7 @@ gEccErrorMessage = {
|
||||
ERROR_META_DATA_FILE_CHECK_DUPLICATE_PPI : "Duplicate PPI found",
|
||||
ERROR_META_DATA_FILE_CHECK_MODULE_FILE_NO_USE : "No used module files found",
|
||||
ERROR_META_DATA_FILE_CHECK_PCD_TYPE : "Wrong C code function used for this kind of PCD",
|
||||
|
||||
ERROR_META_DATA_FILE_CHECK_MODULE_FILE_GUID_DUPLICATION : "Module file has FILE_GUID collision with other module file",
|
||||
ERROR_SPELLING_CHECK_ALL : "",
|
||||
}
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
## @file
|
||||
# This file is used to parse exception items found by ECC tool
|
||||
#
|
||||
# Copyright (c) 2009, Intel Corporation
|
||||
# All rights reserved. This program and the accompanying materials
|
||||
# Copyright (c) 2009, Intel Corporation. All rights reserved.<BR>
|
||||
# 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
|
||||
|
@ -1,9 +1,9 @@
|
||||
## @file
|
||||
# fragments of source file
|
||||
#
|
||||
# Copyright (c) 2007, Intel Corporation
|
||||
# Copyright (c) 2007, Intel Corporation. All rights reserved.<BR>
|
||||
#
|
||||
# All rights reserved. This program and the accompanying materials
|
||||
# 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
|
||||
|
@ -1,8 +1,8 @@
|
||||
## @file
|
||||
# This file is used to define common parser functions for meta-data
|
||||
#
|
||||
# Copyright (c) 2008, Intel Corporation
|
||||
# All rights reserved. This program and the accompanying materials
|
||||
# Copyright (c) 2008, Intel Corporation. All rights reserved.<BR>
|
||||
# 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
|
||||
|
@ -1,8 +1,8 @@
|
||||
## @file
|
||||
# This file is used to be the warning class of ECC tool
|
||||
#
|
||||
# Copyright (c) 2009 - 2010, Intel Corporation
|
||||
# All rights reserved. This program and the accompanying materials
|
||||
# Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
# 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
|
||||
|
@ -4,8 +4,8 @@
|
||||
# This file is required to make Python interpreter treat the directory
|
||||
# as containing package.
|
||||
#
|
||||
# Copyright (c) 2007 - 2010, Intel Corporation<BR>
|
||||
# All rights reserved. This program and the accompanying materials
|
||||
# Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
# 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
|
||||
|
@ -1,8 +1,8 @@
|
||||
## @file
|
||||
# This file is used to be the c coding style checking of ECC tool
|
||||
#
|
||||
# Copyright (c) 2009 - 2010, Intel Corporation
|
||||
# All rights reserved. This program and the accompanying materials
|
||||
# Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
# 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
|
||||
|
@ -2,8 +2,8 @@
|
||||
# This file is used to set configuration of ECC tool
|
||||
# For the items listed below, 1 means valid, 0 means invalid
|
||||
#
|
||||
# Copyright (c) 2007, Intel Corporation
|
||||
# All rights reserved. This program and the accompanying materials
|
||||
# Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
# 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
|
||||
@ -233,6 +233,8 @@ MetaDataFileCheckGuidDuplicate = 1
|
||||
MetaDataFileCheckModuleFileNoUse = 1
|
||||
# Check whether the PCD is correctly used in C function via its type
|
||||
MetaDataFileCheckPcdType = 1
|
||||
# Check whether there are FILE_GUID duplication among different INF files
|
||||
MetaDataFileCheckModuleFileGuidDuplication = 1
|
||||
|
||||
#
|
||||
# The check points in this section are reserved
|
||||
|
@ -1,8 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ExceptionList xmlns="http://www.uefi.org/2008/2.1" xmlns:xsi="http:/www.w3.org/2001/XMLSchema-instance">
|
||||
<Copyright>Copyright (c) 2009 - 2010, Intel Corporation.</Copyright>
|
||||
<Copyright>Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.</Copyright>
|
||||
<License>
|
||||
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
|
||||
|
Reference in New Issue
Block a user