BaseTools:PackageDocumentTools import lib error occurs.

Steps:
 1. Download edk2 tree
 2. Build BaseTools
 3. Go to edk2\BaseTools\Scripts\PackageDocumentTools
    to run packagedoc_cli.py

An error occurs if relative imports are used when running
a file alone

Cc: Bob Feng <bob.c.feng@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Zhiju.Fan <zhijux.fan@intel.com>
Reviewed-by: Bob Feng <bob.c.feng@intel.com>
This commit is contained in:
Fan, ZhijuX
2019-02-25 13:13:20 +08:00
committed by Feng, Bob C
parent dc082d5029
commit 9ab4ec5188
9 changed files with 26 additions and 26 deletions

View File

@ -16,8 +16,8 @@ from __future__ import print_function
import os, sys, logging, traceback, subprocess import os, sys, logging, traceback, subprocess
from optparse import OptionParser from optparse import OptionParser
from .plugins.EdkPlugins.edk2.model import baseobject from plugins.EdkPlugins.edk2.model import baseobject
from .plugins.EdkPlugins.edk2.model import doxygengen from plugins.EdkPlugins.edk2.model import doxygengen
gArchMarcoDict = {'ALL' : 'MDE_CPU_IA32 MDE_CPU_X64 MDE_CPU_EBC MDE_CPU_IPF _MSC_EXTENSIONS __GNUC__ __INTEL_COMPILER', gArchMarcoDict = {'ALL' : 'MDE_CPU_IA32 MDE_CPU_X64 MDE_CPU_EBC MDE_CPU_IPF _MSC_EXTENSIONS __GNUC__ __INTEL_COMPILER',
'IA32_MSFT': 'MDE_CPU_IA32 _MSC_EXTENSIONS', 'IA32_MSFT': 'MDE_CPU_IA32 _MSC_EXTENSIONS',

View File

@ -92,7 +92,7 @@ class Page(BaseDoxygeItem):
self.mText.insert(endIndex, '<ul>') self.mText.insert(endIndex, '<ul>')
endIndex += 1 endIndex += 1
if self.mIsSort: if self.mIsSort:
self.mSubPages.sort(cmp=lambda x, y: cmp(x.mName.lower(), y.mName.lower())) self.mSubPages.sort(key=lambda x: x.mName.lower())
for page in self.mSubPages: for page in self.mSubPages:
self.mText.insert(endIndex, '<li>\subpage %s \"%s\" </li>' % (page.mTag, page.mName)) self.mText.insert(endIndex, '<li>\subpage %s \"%s\" </li>' % (page.mTag, page.mName))
endIndex += 1 endIndex += 1

View File

@ -25,7 +25,7 @@ class BaseINIFile(object):
@return: instance of this class @return: instance of this class
""" """
if len(args) == 0: return object.__new__(cls, *args, **kwargs) if len(args) == 0: return object.__new__(cls)
filename = args[0] filename = args[0]
parent = None parent = None
if len(args) > 1: if len(args) > 1:
@ -33,7 +33,7 @@ class BaseINIFile(object):
key = os.path.normpath(filename) key = os.path.normpath(filename)
if key not in cls._objs.keys(): if key not in cls._objs.keys():
cls._objs[key] = object.__new__(cls, *args, **kwargs) cls._objs[key] = object.__new__(cls)
if parent is not None: if parent is not None:
cls._objs[key].AddParent(parent) cls._objs[key].AddParent(parent)

View File

@ -10,12 +10,12 @@
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
from ...basemodel import ini from plugins.EdkPlugins.basemodel import ini
from ...edk2.model import dsc from plugins.EdkPlugins.edk2.model import dsc
from ...edk2.model import inf from plugins.EdkPlugins.edk2.model import inf
from ...edk2.model import dec from plugins.EdkPlugins.edk2.model import dec
import os import os
from ...basemodel.message import * from plugins.EdkPlugins.basemodel.message import *
class SurfaceObject(object): class SurfaceObject(object):
_objs = {} _objs = {}
@ -25,7 +25,7 @@ class SurfaceObject(object):
@return: instance of this class @return: instance of this class
""" """
obj = object.__new__(cls, *args, **kwargs) obj = object.__new__(cls)
if "None" not in cls._objs: if "None" not in cls._objs:
cls._objs["None"] = [] cls._objs["None"] = []
cls._objs["None"].append(obj) cls._objs["None"].append(obj)
@ -846,7 +846,7 @@ class SurfaceItem(object):
ErrorMsg("%s item is duplicated defined in packages: %s and %s" % ErrorMsg("%s item is duplicated defined in packages: %s and %s" %
(name, parent.GetFilename(), cls._objs[name].GetParent().GetFilename())) (name, parent.GetFilename(), cls._objs[name].GetParent().GetFilename()))
return None return None
obj = object.__new__(cls, *args, **kwargs) obj = object.__new__(cls)
cls._objs[name] = obj cls._objs[name] = obj
return obj return obj
elif issubclass(parent.__class__, Module): elif issubclass(parent.__class__, Module):

View File

@ -11,9 +11,9 @@
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
# #
from ...basemodel import ini from plugins.EdkPlugins.basemodel import ini
import re, os import re, os
from ...basemodel.message import * from plugins.EdkPlugins.basemodel.message import *
class DECFile(ini.BaseINIFile): class DECFile(ini.BaseINIFile):

View File

@ -16,7 +16,7 @@
"""This file produce action class to generate doxygen document for edk2 codebase. """This file produce action class to generate doxygen document for edk2 codebase.
The action classes are shared by GUI and command line tools. The action classes are shared by GUI and command line tools.
""" """
from ...basemodel import doxygen from plugins.EdkPlugins.basemodel import doxygen
import os import os
try: try:
import wx import wx
@ -24,9 +24,9 @@ try:
except: except:
gInGui = False gInGui = False
import re import re
from ...edk2.model import inf from plugins.EdkPlugins.edk2.model import inf
from ...edk2.model import dec from plugins.EdkPlugins.edk2.model import dec
from ...basemodel.message import * from plugins.EdkPlugins.basemodel.message import *
_ignore_dir = ['.svn', '_svn', 'cvs'] _ignore_dir = ['.svn', '_svn', 'cvs']
_inf_key_description_mapping_table = { _inf_key_description_mapping_table = {

View File

@ -13,7 +13,7 @@
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
from ...basemodel import doxygen from plugins.EdkPlugins.basemodel import doxygen
import os import os
try: try:
import wx import wx
@ -21,9 +21,9 @@ try:
except: except:
gInGui = False gInGui = False
import re import re
from ...edk2.model import inf from plugins.EdkPlugins.edk2.model import inf
from ...edk2.model import dec from plugins.EdkPlugins.edk2.model import dec
from ...basemodel.message import * from plugins.EdkPlugins.basemodel.message import *
_ignore_dir = ['.svn', '_svn', 'cvs'] _ignore_dir = ['.svn', '_svn', 'cvs']
_inf_key_description_mapping_table = { _inf_key_description_mapping_table = {

View File

@ -11,9 +11,9 @@
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
# #
from ...basemodel import ini from plugins.EdkPlugins.basemodel import ini
import re, os import re, os
from ...basemodel.message import * from plugins.EdkPlugins.basemodel.message import *
class DSCFile(ini.BaseINIFile): class DSCFile(ini.BaseINIFile):
def GetSectionInstance(self, parent, name, isCombined=False): def GetSectionInstance(self, parent, name, isCombined=False):

View File

@ -11,9 +11,9 @@
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
# #
from ...basemodel import ini from plugins.EdkPlugins.basemodel import ini
import re, os import re, os
from ...basemodel.message import * from plugins.EdkPlugins.basemodel.message import *
class INFFile(ini.BaseINIFile): class INFFile(ini.BaseINIFile):
_libobjs = {} _libobjs = {}