|
From: <qh...@us...> - 2010-03-12 07:53:24
|
Revision: 1928
http://edk2-buildtools.svn.sourceforge.net/edk2-buildtools/?rev=1928&view=rev
Author: qhuang8
Date: 2010-03-12 07:53:17 +0000 (Fri, 12 Mar 2010)
Log Message:
-----------
Remove the diagnostic logic
Modified Paths:
--------------
trunk/BaseTools/Source/Python/build/BuildReport.py
Modified: trunk/BaseTools/Source/Python/build/BuildReport.py
===================================================================
--- trunk/BaseTools/Source/Python/build/BuildReport.py 2010-03-11 19:34:47 UTC (rev 1927)
+++ trunk/BaseTools/Source/Python/build/BuildReport.py 2010-03-12 07:53:17 UTC (rev 1928)
@@ -1380,10 +1380,6 @@
# @param ReportType The kind of report items in the final report file
#
def __init__(self, ReportFile, ReportType):
- # @attention Temporarily turn on the build report feature for debug and diagnose purpose.
- if ReportFile == None:
- ReportFile = "Report.txt"
-
self.ReportFile = ReportFile
if ReportFile:
self.ReportList = []
@@ -1433,12 +1429,6 @@
EdkLogger.quiet("(Python %s on %s\n%s)" % (platform.python_version(), sys.platform, traceback.format_exc()))
File.close()
- # @attention Temporarily dump the context of report file so it can be caught in build log for debug
- # and diagnose purpose.
- EdkLogger.quiet("==================Dump Report Start===================================")
- EdkLogger.quiet(open(self.ReportFile).read())
- EdkLogger.quiet("==================Dump Report End=====================================")
-
# This acts like the main() function for the script, unless it is 'import'ed into another script.
if __name__ == '__main__':
pass
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <qh...@us...> - 2010-03-19 09:47:33
|
Revision: 1938
http://edk2-buildtools.svn.sourceforge.net/edk2-buildtools/?rev=1938&view=rev
Author: qhuang8
Date: 2010-03-19 09:47:26 +0000 (Fri, 19 Mar 2010)
Log Message:
-----------
Fix some wording in report
Modified Paths:
--------------
trunk/BaseTools/Source/Python/build/BuildReport.py
Modified: trunk/BaseTools/Source/Python/build/BuildReport.py
===================================================================
--- trunk/BaseTools/Source/Python/build/BuildReport.py 2010-03-18 11:45:45 UTC (rev 1937)
+++ trunk/BaseTools/Source/Python/build/BuildReport.py 2010-03-19 09:47:26 UTC (rev 1938)
@@ -601,7 +601,7 @@
FileWrite(File, "Platform Configuration Database Report")
FileWrite(File, " *P - Platform scoped PCD override in DSC file")
FileWrite(File, " *F - Platform scoped PCD override in FDF file")
- FileWrite(File, " *M - Module scoped PCD override in DSC file")
+ FileWrite(File, " *M - Module scoped PCD override")
FileWrite(File, gSectionSep)
else:
#
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <qh...@us...> - 2010-04-01 09:53:01
|
Revision: 1946
http://edk2-buildtools.svn.sourceforge.net/edk2-buildtools/?rev=1946&view=rev
Author: qhuang8
Date: 2010-04-01 09:52:54 +0000 (Thu, 01 Apr 2010)
Log Message:
-----------
Print EOT runtime performance record
Modified Paths:
--------------
trunk/BaseTools/Source/Python/build/BuildReport.py
Modified: trunk/BaseTools/Source/Python/build/BuildReport.py
===================================================================
--- trunk/BaseTools/Source/Python/build/BuildReport.py 2010-04-01 03:30:55 UTC (rev 1945)
+++ trunk/BaseTools/Source/Python/build/BuildReport.py 2010-04-01 09:52:54 UTC (rev 1946)
@@ -22,6 +22,7 @@
import textwrap
import traceback
import sys
+import time
from datetime import datetime
from Common import EdkLogger
from Common.Misc import GuidStructureByteArrayToGuidString
@@ -889,12 +890,17 @@
try:
from Eot.Eot import Eot
+
#
- # Invoke EOT tool
+ # Invoke EOT tool and echo its runtime performance
#
+ EotStartTime = time.time()
Eot(CommandLineOption=False, SourceFileList=SourceList, GuidList=GuidList,
FvFileList=' '.join(FvFileList), Dispatch=DispatchList, IsInit=True)
-
+ EotEndTime = time.time()
+ EotDuration = time.strftime("%H:%M:%S", time.gmtime(int(round(EotEndTime - EotStartTime))))
+ EdkLogger.quiet("EOT run time: %s\n" % EotDuration)
+
#
# Parse the output of EOT tool
#
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <qh...@us...> - 2010-04-13 07:29:32
|
Revision: 1950
http://edk2-buildtools.svn.sourceforge.net/edk2-buildtools/?rev=1950&view=rev
Author: qhuang8
Date: 2010-04-13 07:29:26 +0000 (Tue, 13 Apr 2010)
Log Message:
-----------
For the invocation of EOT tool, build report does not need to prepare all the referenced source code for modules with BASE module types as they are EFI agnostic and will not impact the dispatch/notification order.
Modified Paths:
--------------
trunk/BaseTools/Source/Python/build/BuildReport.py
Modified: trunk/BaseTools/Source/Python/build/BuildReport.py
===================================================================
--- trunk/BaseTools/Source/Python/build/BuildReport.py 2010-04-13 07:27:05 UTC (rev 1949)
+++ trunk/BaseTools/Source/Python/build/BuildReport.py 2010-04-13 07:29:26 UTC (rev 1950)
@@ -766,6 +766,13 @@
for Pa in Wa.AutoGenObjectList:
for Module in Pa.LibraryAutoGenList + Pa.ModuleAutoGenList:
#
+ # BASE typed modules are EFI agnostic, so we need not scan
+ # their source code to find PPI/Protocol produce or consume
+ # information.
+ #
+ if Module.ModuleType == "BASE":
+ continue
+ #
# Add module referenced source files
#
self._SourceList.append(str(Module))
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <qh...@us...> - 2010-05-10 00:55:31
|
Revision: 1967
http://edk2-buildtools.svn.sourceforge.net/edk2-buildtools/?rev=1967&view=rev
Author: qhuang8
Date: 2010-05-10 00:55:24 +0000 (Mon, 10 May 2010)
Log Message:
-----------
Make report file generation to be consistent with GUID XREF and Platform.map files.
Modified Paths:
--------------
trunk/BaseTools/Source/Python/build/BuildReport.py
Modified: trunk/BaseTools/Source/Python/build/BuildReport.py
===================================================================
--- trunk/BaseTools/Source/Python/build/BuildReport.py 2010-05-07 03:06:44 UTC (rev 1966)
+++ trunk/BaseTools/Source/Python/build/BuildReport.py 2010-05-10 00:55:24 UTC (rev 1967)
@@ -24,11 +24,12 @@
import sys
import time
from datetime import datetime
+from StringIO import StringIO
from Common import EdkLogger
+from Common.Misc import SaveFileOnChange
from Common.Misc import GuidStructureByteArrayToGuidString
from Common.Misc import GuidStructureStringToGuidString
from Common.InfClassObject import gComponentType2ModuleType
-from Common.BuildToolError import FILE_OPEN_FAILURE
from Common.BuildToolError import FILE_WRITE_FAILURE
from Common.BuildToolError import CODE_ERROR
@@ -1429,13 +1430,11 @@
def GenerateReport(self, BuildDuration):
if self.ReportFile:
try:
- File = open(self.ReportFile, "w+")
- except IOError:
- EdkLogger.error(None, FILE_OPEN_FAILURE, ExtraData=self.ReportFile)
- try:
+ File = StringIO('')
for (Wa, MaList) in self.ReportList:
PlatformReport(Wa, MaList, self.ReportType).GenerateReport(File, BuildDuration, self.ReportType)
- EdkLogger.quiet("Report successfully saved to %s" % os.path.abspath(self.ReportFile))
+ SaveFileOnChange(self.ReportFile, File.getvalue(), False)
+ EdkLogger.quiet("Build report can be found at %s" % os.path.abspath(self.ReportFile))
except IOError:
EdkLogger.error(None, FILE_WRITE_FAILURE, ExtraData=self.ReportFile)
except:
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <qh...@us...> - 2010-08-20 00:00:45
|
Revision: 2023
http://edk2-buildtools.svn.sourceforge.net/edk2-buildtools/?rev=2023&view=rev
Author: qhuang8
Date: 2010-08-20 00:00:38 +0000 (Fri, 20 Aug 2010)
Log Message:
-----------
Enhance build report generating tool to parser the binary depex file to print the final depex section in suffix syntax.
Modified Paths:
--------------
trunk/BaseTools/Source/Python/build/BuildReport.py
Modified: trunk/BaseTools/Source/Python/build/BuildReport.py
===================================================================
--- trunk/BaseTools/Source/Python/build/BuildReport.py 2010-08-19 23:55:38 UTC (rev 2022)
+++ trunk/BaseTools/Source/Python/build/BuildReport.py 2010-08-20 00:00:38 UTC (rev 2023)
@@ -23,6 +23,7 @@
import traceback
import sys
import time
+import struct
from datetime import datetime
from StringIO import StringIO
from Common import EdkLogger
@@ -101,6 +102,9 @@
'SMM_DRIVER' : '0xA (SMM)', # Extension of module type to support PI 1.1 SMM drivers
}
+## The look up table of the supported opcode in the dependency expression binaries
+gOpCodeList = ["BEFORE", "AFTER", "PUSH", "AND", "OR", "NOT", "TRUE", "FALSE", "END", "SOR"]
+
##
# Writes a string to the file object.
#
@@ -163,6 +167,60 @@
break
##
+# Parse binary dependency expression section
+#
+# This utility class parses the dependency expression section and translate the readable
+# GUID name and value.
+#
+class DepexParser(object):
+ ##
+ # Constructor function for class DepexParser
+ #
+ # This constructor function collect GUID values so that the readable
+ # GUID name can be translated.
+ #
+ # @param self The object pointer
+ # @param Wa Workspace context information
+ #
+ def __init__(self, Wa):
+ self._GuidDb = {}
+ for Package in Wa.BuildDatabase.WorkspaceDb.PackageList:
+ for Protocol in Package.Protocols:
+ GuidValue = GuidStructureStringToGuidString(Package.Protocols[Protocol])
+ self._GuidDb[GuidValue.upper()] = Protocol
+ for Ppi in Package.Ppis:
+ GuidValue = GuidStructureStringToGuidString(Package.Ppis[Ppi])
+ self._GuidDb[GuidValue.upper()] = Ppi
+ for Guid in Package.Guids:
+ GuidValue = GuidStructureStringToGuidString(Package.Guids[Guid])
+ self._GuidDb[GuidValue.upper()] = Guid
+
+ ##
+ # Parse the binary dependency expression files.
+ #
+ # This function parses the binary dependency expression file and translate it
+ # to the instruction list.
+ #
+ # @param self The object pointer
+ # @param DepexFileName The file name of binary dependency expression file.
+ #
+ def ParseDepexFile(self, DepexFileName):
+ DepexFile = open(DepexFileName, "rb")
+ DepexStatement = []
+ OpCode = DepexFile.read(1)
+ while OpCode:
+ Statement = gOpCodeList[struct.unpack("B", OpCode)[0]]
+ if Statement in ["BEFORE", "AFTER", "PUSH"]:
+ GuidValue = "%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X" % \
+ struct.unpack("LHHBBBBBBBB", DepexFile.read(16))
+ GuidString = self._GuidDb.get(GuidValue, GuidValue)
+ Statement = "%s %s" % (Statement, GuidString)
+ DepexStatement.append(Statement)
+ OpCode = DepexFile.read(1)
+
+ return DepexStatement
+
+##
# Reports library information
#
# This class reports the module library subsection in the build report file.
@@ -254,6 +312,7 @@
#
def __init__(self, M):
self.Depex = ""
+ self._DepexFileName = os.path.join(M.BuildDir, "OUTPUT", M.Module.BaseName + ".depex")
ModuleType = M.ModuleType
if not ModuleType:
ModuleType = gComponentType2ModuleType.get(M.ComponentType, "")
@@ -289,14 +348,25 @@
#
# This function generates report for the module dependency expression.
#
- # @param self The object pointer
- # @param File The file object for report
+ # @param self The object pointer
+ # @param File The file object for report
+ # @param GlobalDepexParser The platform global Dependency expression parser object
#
- def GenerateReport(self, File):
+ def GenerateReport(self, File, GlobalDepexParser):
if not self.Depex:
return
-
+
FileWrite(File, gSubSectionStart)
+ if os.path.isfile(self._DepexFileName):
+ try:
+ DepexStatements = GlobalDepexParser.ParseDepexFile(self._DepexFileName)
+ FileWrite(File, "Final Dependency Expression (DEPEX) Instructions")
+ for DepexStatement in DepexStatements:
+ FileWrite(File, " %s" % DepexStatement)
+ FileWrite(File, gSubSectionSep)
+ except:
+ EdkLogger.warn(None, "Dependency expression file is corrupted", self._DepexFileName)
+
FileWrite(File, "Dependency Expression (DEPEX) from %s" % self.Source)
if self.Source == "INF":
@@ -453,12 +523,14 @@
# This function generates report for separate module expression
# in a platform build.
#
- # @param self The object pointer
- # @param File The file object for report
- # @param GlobalPcdReport The platform global PCD class object
- # @param ReportType The kind of report items in the final report file
+ # @param self The object pointer
+ # @param File The file object for report
+ # @param GlobalPcdReport The platform global PCD report object
+ # @param GlobalPredictionReport The platform global Prediction report object
+ # @param GlobalDepexParser The platform global Dependency expression parser object
+ # @param ReportType The kind of report items in the final report file
#
- def GenerateReport(self, File, GlobalPcdReport, GlobalPredictionReport, ReportType):
+ def GenerateReport(self, File, GlobalPcdReport, GlobalPredictionReport, GlobalDepexParser, ReportType):
FileWrite(File, gSectionStart)
FwReportFileName = os.path.join(self._BuildDir, "DEBUG", self.ModuleName + ".txt")
@@ -505,7 +577,7 @@
self.LibraryReport.GenerateReport(File)
if "DEPEX" in ReportType:
- self.DepexReport.GenerateReport(File)
+ self.DepexReport.GenerateReport(File, GlobalDepexParser)
if "BUILD_FLAGS" in ReportType:
self.BuildFlagsReport.GenerateReport(File)
@@ -1325,6 +1397,10 @@
if "FIXED_ADDRESS" in ReportType or "EXECUTION_ORDER" in ReportType:
self.PredictionReport = PredictionReport(Wa)
+ self.DepexParser = None
+ if "DEPEX" in ReportType:
+ self.DepexParser = DepexParser(Wa)
+
self.ModuleReportList = []
if MaList != None:
self._IsModuleBuild = True
@@ -1371,7 +1447,7 @@
FdReportListItem.GenerateReport(File)
for ModuleReportItem in self.ModuleReportList:
- ModuleReportItem.GenerateReport(File, self.PcdReport, self.PredictionReport, ReportType)
+ ModuleReportItem.GenerateReport(File, self.PcdReport, self.PredictionReport, self.DepexParser, ReportType)
if not self._IsModuleBuild:
if "EXECUTION_ORDER" in ReportType:
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gi...@us...> - 2011-08-24 02:16:09
|
Revision: 2270
http://edk2-buildtools.svn.sourceforge.net/edk2-buildtools/?rev=2270&view=rev
Author: gikidy
Date: 2011-08-24 02:16:02 +0000 (Wed, 24 Aug 2011)
Log Message:
-----------
Fix build break while use ?\226?\128?\147y build option to generate build report.
Signed-off-by: gikidy
Reviewed-by: jsu1
Modified Paths:
--------------
trunk/BaseTools/Source/Python/build/BuildReport.py
Modified: trunk/BaseTools/Source/Python/build/BuildReport.py
===================================================================
--- trunk/BaseTools/Source/Python/build/BuildReport.py 2011-08-24 01:06:43 UTC (rev 2269)
+++ trunk/BaseTools/Source/Python/build/BuildReport.py 2011-08-24 02:16:02 UTC (rev 2270)
@@ -184,16 +184,17 @@
#
def __init__(self, Wa):
self._GuidDb = {}
- for Package in Wa.BuildDatabase.WorkspaceDb.PackageList:
- for Protocol in Package.Protocols:
- GuidValue = GuidStructureStringToGuidString(Package.Protocols[Protocol])
- self._GuidDb[GuidValue.upper()] = Protocol
- for Ppi in Package.Ppis:
- GuidValue = GuidStructureStringToGuidString(Package.Ppis[Ppi])
- self._GuidDb[GuidValue.upper()] = Ppi
- for Guid in Package.Guids:
- GuidValue = GuidStructureStringToGuidString(Package.Guids[Guid])
- self._GuidDb[GuidValue.upper()] = Guid
+ for Pa in Wa.AutoGenObjectList:
+ for Package in Pa.PackageList:
+ for Protocol in Package.Protocols:
+ GuidValue = GuidStructureStringToGuidString(Package.Protocols[Protocol])
+ self._GuidDb[GuidValue.upper()] = Protocol
+ for Ppi in Package.Ppis:
+ GuidValue = GuidStructureStringToGuidString(Package.Ppis[Ppi])
+ self._GuidDb[GuidValue.upper()] = Ppi
+ for Guid in Package.Guids:
+ GuidValue = GuidStructureStringToGuidString(Package.Guids[Guid])
+ self._GuidDb[GuidValue.upper()] = Guid
##
# Parse the binary dependency expression files.
@@ -641,10 +642,11 @@
# Collect PCD DEC default value.
#
self.DecPcdDefault = {}
- for Package in Wa.BuildDatabase.WorkspaceDb.PackageList:
- for (TokenCName, TokenSpaceGuidCName, DecType) in Package.Pcds:
- DecDefaultValue = Package.Pcds[TokenCName, TokenSpaceGuidCName, DecType].DefaultValue
- self.DecPcdDefault.setdefault((TokenCName, TokenSpaceGuidCName, DecType), DecDefaultValue)
+ for Pa in Wa.AutoGenObjectList:
+ for Package in Pa.PackageList:
+ for (TokenCName, TokenSpaceGuidCName, DecType) in Package.Pcds:
+ DecDefaultValue = Package.Pcds[TokenCName, TokenSpaceGuidCName, DecType].DefaultValue
+ self.DecPcdDefault.setdefault((TokenCName, TokenSpaceGuidCName, DecType), DecDefaultValue)
#
# Collect PCDs defined in DSC common section
#
@@ -1174,15 +1176,15 @@
self._DiscoverNestedFvList(FvName, Wa)
PlatformPcds = {}
-
#
# Collect PCDs declared in DEC files.
+ #
+ for Pa in Wa.AutoGenObjectList:
+ for Package in Pa.PackageList:
+ for (TokenCName, TokenSpaceGuidCName, DecType) in Package.Pcds:
+ DecDefaultValue = Package.Pcds[TokenCName, TokenSpaceGuidCName, DecType].DefaultValue
+ PlatformPcds[(TokenCName, TokenSpaceGuidCName)] = DecDefaultValue
#
- for Package in Wa.BuildDatabase.WorkspaceDb.PackageList:
- for (TokenCName, TokenSpaceGuidCName, DecType) in Package.Pcds:
- DecDefaultValue = Package.Pcds[TokenCName, TokenSpaceGuidCName, DecType].DefaultValue
- PlatformPcds[(TokenCName, TokenSpaceGuidCName)] = DecDefaultValue
- #
# Collect PCDs defined in DSC common section
#
for Platform in Wa.BuildDatabase.WorkspaceDb.PlatformList:
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gi...@us...> - 2011-09-15 08:45:22
|
Revision: 2316
http://edk2-buildtools.svn.sourceforge.net/edk2-buildtools/?rev=2316&view=rev
Author: gikidy
Date: 2011-09-15 08:45:16 +0000 (Thu, 15 Sep 2011)
Log Message:
-----------
Fix a bug that FvReportFileName case is not correct will cause issue under case sensitive system.
Signed-off-by: gikidy
Reviewed-by: yingke
Modified Paths:
--------------
trunk/BaseTools/Source/Python/build/BuildReport.py
Modified: trunk/BaseTools/Source/Python/build/BuildReport.py
===================================================================
--- trunk/BaseTools/Source/Python/build/BuildReport.py 2011-09-15 08:44:05 UTC (rev 2315)
+++ trunk/BaseTools/Source/Python/build/BuildReport.py 2011-09-15 08:45:16 UTC (rev 2316)
@@ -1258,7 +1258,7 @@
FvTotalSize = 0
FvTakenSize = 0
FvFreeSize = 0
- FvReportFileName = os.path.join(self._FvDir, FvName + ".fv.txt")
+ FvReportFileName = os.path.join(self._FvDir, FvName + ".Fv.txt")
try:
#
# Collect size info in the firmware volume.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <xf...@us...> - 2012-03-14 01:11:57
|
Revision: 2502
http://edk2-buildtools.svn.sourceforge.net/edk2-buildtools/?rev=2502&view=rev
Author: xfzyr
Date: 2012-03-14 01:11:51 +0000 (Wed, 14 Mar 2012)
Log Message:
-----------
Fix a issue of -Y arguments in report is not in consistent style if they are null.
Signed-off-by: yzeng15
Reviewed-by: lgao4
Modified Paths:
--------------
trunk/BaseTools/Source/Python/build/BuildReport.py
Modified: trunk/BaseTools/Source/Python/build/BuildReport.py
===================================================================
--- trunk/BaseTools/Source/Python/build/BuildReport.py 2012-03-14 00:53:03 UTC (rev 2501)
+++ trunk/BaseTools/Source/Python/build/BuildReport.py 2012-03-14 01:11:51 UTC (rev 2502)
@@ -34,6 +34,9 @@
from Common.BuildToolError import FILE_WRITE_FAILURE
from Common.BuildToolError import CODE_ERROR
from Common.DataType import TAB_LINE_BREAK
+from Common.DataType import TAB_INF_PCD
+from Common.DataType import EDK_COMPONENT_TYPE_LIBRARY
+from Common.DataType import TAB_DEPEX
## Pattern to extract contents in EDK DXS files
gDxsDependencyPattern = re.compile(r"DEPENDENCY_START(.+)DEPENDENCY_END", re.DOTALL)
@@ -76,6 +79,7 @@
gSubSectionEnd = "<" + "-" * (gLineMaxLength-2) + ">"
gSubSectionSep = "-" * gLineMaxLength
+
## The look up table to map PCD type to pair of report display type and DEC type
gPcdTypeMap = {
'FixedAtBuild' : ('FIXED', 'FixedAtBuild'),
@@ -178,7 +182,7 @@
# @param MaxLength The Max Length of the line
#
def FileLinesSplit(Content=None, MaxLength=None):
- ContentList = Content.split(TAB_LINE_BREAK)
+ ContentList = Content.split(os.linesep)
NewContent = ''
NewContentList = []
for Line in ContentList:
@@ -290,7 +294,7 @@
#
def GenerateReport(self, File):
FileWrite(File, gSubSectionStart)
- FileWrite(File, "Library")
+ FileWrite(File, EDK_COMPONENT_TYPE_LIBRARY)
if len(self.LibraryList) > 0:
FileWrite(File, gSubSectionSep)
for LibraryItem in self.LibraryList:
@@ -382,8 +386,10 @@
#
def GenerateReport(self, File, GlobalDepexParser):
if not self.Depex:
+ FileWrite(File, gSubSectionStart)
+ FileWrite(File, TAB_DEPEX)
+ FileWrite(File, gSubSectionEnd)
return
-
FileWrite(File, gSubSectionStart)
if os.path.isfile(self._DepexFileName):
try:
@@ -712,7 +718,7 @@
# For module PCD sub-section
#
FileWrite(File, gSubSectionStart)
- FileWrite(File, "PCD")
+ FileWrite(File, TAB_INF_PCD)
FileWrite(File, gSubSectionSep)
for Key in self.AllPcds:
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <xf...@us...> - 2012-05-22 01:27:17
|
Revision: 2522
http://edk2-buildtools.svn.sourceforge.net/edk2-buildtools/?rev=2522&view=rev
Author: xfzyr
Date: 2012-05-22 01:27:10 +0000 (Tue, 22 May 2012)
Log Message:
-----------
Fix a issue of build report Hang in Linux reported from EDKII Community.
Signed-off-by: Liming Gao <lim...@in...>
Reviewed-by: Yurui Zeng <yur...@in...>
Modified Paths:
--------------
trunk/BaseTools/Source/Python/build/BuildReport.py
Modified: trunk/BaseTools/Source/Python/build/BuildReport.py
===================================================================
--- trunk/BaseTools/Source/Python/build/BuildReport.py 2012-05-21 08:26:22 UTC (rev 2521)
+++ trunk/BaseTools/Source/Python/build/BuildReport.py 2012-05-22 01:27:10 UTC (rev 2522)
@@ -39,6 +39,7 @@
from Common.DataType import TAB_SPACE_SPLIT
from Common.DataType import TAB_BRG_PCD
from Common.DataType import TAB_BRG_LIBRARY
+from Common.DataType import TAB_BACK_SLASH
## Pattern to extract contents in EDK DXS files
gDxsDependencyPattern = re.compile(r"DEPENDENCY_START(.+)DEPENDENCY_END", re.DOTALL)
@@ -191,11 +192,11 @@
while len(Line.rstrip()) > MaxLength:
LineSpaceIndex = Line.rfind(TAB_SPACE_SPLIT, 0, MaxLength)
LineSlashIndex = Line.rfind(TAB_SLASH, 0, MaxLength)
- LineBreakIndex = MaxLength
- if LineSpaceIndex > LineSlashIndex:
- LineBreakIndex = LineSpaceIndex
- elif LineSlashIndex > LineSpaceIndex:
- LineBreakIndex = LineSlashIndex
+ LineBackSlashIndex = Line.rfind(TAB_BACK_SLASH, 0, MaxLength)
+ if max(LineSpaceIndex, LineSlashIndex, LineBackSlashIndex) > 0:
+ LineBreakIndex = max(LineSpaceIndex, LineSlashIndex, LineBackSlashIndex)
+ else:
+ LineBreakIndex = MaxLength
NewContentList.append(Line[:LineBreakIndex])
Line = Line[LineBreakIndex:]
if Line:
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <js...@us...> - 2012-06-28 08:44:50
|
Revision: 2541
http://edk2-buildtools.svn.sourceforge.net/edk2-buildtools/?rev=2541&view=rev
Author: jsu1
Date: 2012-06-28 08:44:41 +0000 (Thu, 28 Jun 2012)
Log Message:
-----------
Fix the end of line to all use ?\226?\128?\152\r\n?\226?\128?\153 in build report.
Reviewed-by: Zeng, Yurui <yur...@in...>
Reviewed-by: Liu Yingke <yin...@in...>
Signed-off-by: Su jikui <jik...@in...>
Modified Paths:
--------------
trunk/BaseTools/Source/Python/build/BuildReport.py
Modified: trunk/BaseTools/Source/Python/build/BuildReport.py
===================================================================
--- trunk/BaseTools/Source/Python/build/BuildReport.py 2012-06-25 02:32:08 UTC (rev 2540)
+++ trunk/BaseTools/Source/Python/build/BuildReport.py 2012-06-28 08:44:41 UTC (rev 2541)
@@ -4,7 +4,7 @@
# This module contains the functionality to generate build report after
# build all target completes successfully.
#
-# Copyright (c) 2010, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2010 - 2012, 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
@@ -72,6 +72,9 @@
## Tags for MaxLength of line in report
gLineMaxLength = 120
+## Tags for end of line in report
+gEndOfLine = "\r\n"
+
## Tags for section start, end and separator
gSectionStart = ">" + "=" * (gLineMaxLength-2) + "<"
gSectionEnd = "<" + "=" * (gLineMaxLength-2) + ">" + "\n"
@@ -128,7 +131,7 @@
def FileWrite(File, String, Wrapper=False):
if Wrapper:
String = textwrap.fill(String, 120)
- File.write(String + "\r\n")
+ File.write(String + gEndOfLine)
##
# Find all the header file that the module source directly includes.
@@ -185,6 +188,7 @@
# @param MaxLength The Max Length of the line
#
def FileLinesSplit(Content=None, MaxLength=None):
+ Content = Content.replace(gEndOfLine, TAB_LINE_BREAK)
ContentList = Content.split(TAB_LINE_BREAK)
NewContent = ''
NewContentList = []
@@ -202,7 +206,7 @@
if Line:
NewContentList.append(Line)
for NewLine in NewContentList:
- NewContent += NewLine + TAB_LINE_BREAK
+ NewContent += NewLine + gEndOfLine
return NewContent
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <js...@us...> - 2012-07-02 22:12:32
|
Revision: 2543
http://edk2-buildtools.svn.sourceforge.net/edk2-buildtools/?rev=2543&view=rev
Author: jsu1
Date: 2012-07-02 22:12:26 +0000 (Mon, 02 Jul 2012)
Log Message:
-----------
Fix some blank lines missing in build report.
Reviewed-by: Zeng, Yurui <yur...@in...>
Signed-off-by: Su jikui <jik...@in...>
Modified Paths:
--------------
trunk/BaseTools/Source/Python/build/BuildReport.py
Modified: trunk/BaseTools/Source/Python/build/BuildReport.py
===================================================================
--- trunk/BaseTools/Source/Python/build/BuildReport.py 2012-06-28 08:45:49 UTC (rev 2542)
+++ trunk/BaseTools/Source/Python/build/BuildReport.py 2012-07-02 22:12:26 UTC (rev 2543)
@@ -188,7 +188,6 @@
# @param MaxLength The Max Length of the line
#
def FileLinesSplit(Content=None, MaxLength=None):
- Content = Content.replace(gEndOfLine, TAB_LINE_BREAK)
ContentList = Content.split(TAB_LINE_BREAK)
NewContent = ''
NewContentList = []
@@ -206,7 +205,9 @@
if Line:
NewContentList.append(Line)
for NewLine in NewContentList:
- NewContent += NewLine + gEndOfLine
+ NewContent += NewLine + TAB_LINE_BREAK
+
+ NewContent = NewContent.replace(TAB_LINE_BREAK, gEndOfLine).replace('\r\r\n', gEndOfLine)
return NewContent
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <lg...@us...> - 2012-09-27 02:47:49
|
Revision: 2551
http://edk2-buildtools.svn.sourceforge.net/edk2-buildtools/?rev=2551&view=rev
Author: lgao4
Date: 2012-09-27 02:47:43 +0000 (Thu, 27 Sep 2012)
Log Message:
-----------
Fix issue in Build report to support DynamicEx type PCD.
Signed-off-by: Liming Gao <lim...@in...>
Reviewed-by: Zeng, Yurui <yur...@in...>
Modified Paths:
--------------
trunk/BaseTools/Source/Python/build/BuildReport.py
Modified: trunk/BaseTools/Source/Python/build/BuildReport.py
===================================================================
--- trunk/BaseTools/Source/Python/build/BuildReport.py 2012-08-15 00:34:24 UTC (rev 2550)
+++ trunk/BaseTools/Source/Python/build/BuildReport.py 2012-09-27 02:47:43 UTC (rev 2551)
@@ -94,9 +94,9 @@
'Dynamic' : ('DYN', 'Dynamic'),
'DynamicHii' : ('DYNHII', 'Dynamic'),
'DynamicVpd' : ('DYNVPD', 'Dynamic'),
- 'DynamicEx' : ('DEX', 'Dynamic'),
- 'DynamicExHii' : ('DEXHII', 'Dynamic'),
- 'DynamicExVpd' : ('DEXVPD', 'Dynamic'),
+ 'DynamicEx' : ('DEX', 'DynamicEx'),
+ 'DynamicExHii' : ('DEXHII', 'DynamicEx'),
+ 'DynamicExVpd' : ('DEXVPD', 'DynamicEx'),
}
## The look up table to map module type to driver type
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <yi...@us...> - 2014-01-09 06:25:18
|
Revision: 2637
http://sourceforge.net/p/edk2-buildtools/code/2637
Author: yingke
Date: 2014-01-09 06:25:14 +0000 (Thu, 09 Jan 2014)
Log Message:
-----------
Update unpack format to be portable.
Reviewed-by: Andrew Fish <af...@ap...>
Signed-off-by: Yingke Liu <yin...@in...>
Modified Paths:
--------------
trunk/BaseTools/Source/Python/build/BuildReport.py
Modified: trunk/BaseTools/Source/Python/build/BuildReport.py
===================================================================
--- trunk/BaseTools/Source/Python/build/BuildReport.py 2014-01-09 01:05:52 UTC (rev 2636)
+++ trunk/BaseTools/Source/Python/build/BuildReport.py 2014-01-09 06:25:14 UTC (rev 2637)
@@ -259,7 +259,7 @@
Statement = gOpCodeList[struct.unpack("B", OpCode)[0]]
if Statement in ["BEFORE", "AFTER", "PUSH"]:
GuidValue = "%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X" % \
- struct.unpack("LHHBBBBBBBB", DepexFile.read(16))
+ struct.unpack("=LHHBBBBBBBB", DepexFile.read(16))
GuidString = self._GuidDb.get(GuidValue, GuidValue)
Statement = "%s %s" % (Statement, GuidString)
DepexStatement.append(Statement)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|