From: Pierre Gondois <pierre.gond...@arm.com> The BaseTools directory is currently being located as a sub-directory of the WORKSPACE env var. This might not be true in other environments. Cf EDKII Build Specification, s4.1.3 "Build Process Restrictions": There is no restriction on the location of the EDK_TOOLS_PATH, it may be located within a directory identified as the WORKSPACE directory, or in any other location that is accessible on the development workstation.
Locate the BaseTools directory using EDK_TOOLS_PATH instead. Cc: Sean Brogan <sean.bro...@microsoft.com> Cc: Bret Barkelew <bret.barke...@microsoft.com> Cc: Michael D Kinney <michael.d.kin...@intel.com> Cc: Liming Gao <gaolim...@byosoft.com.cn> Cc: Sami Mujawar <sami.muja...@arm.com> Signed-off-by: Pierre Gondois <pierre.gond...@arm.com> --- .pytool/Plugin/EccCheck/EccCheck.py | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/.pytool/Plugin/EccCheck/EccCheck.py b/.pytool/Plugin/EccCheck/EccCheck.py index eee1ff7a77b5..bb93446441de 100644 --- a/.pytool/Plugin/EccCheck/EccCheck.py +++ b/.pytool/Plugin/EccCheck/EccCheck.py @@ -1,5 +1,6 @@ # @file EccCheck.py # +# Copyright (c) 2021, Arm Limited. All rights reserved.<BR> # Copyright (c) 2020, Intel Corporation. All rights reserved.<BR> # SPDX-License-Identifier: BSD-2-Clause-Patent ## @@ -61,16 +62,17 @@ class EccCheck(ICiBuildPlugin): # - output_stream the StringIO output stream from this plugin via logging def RunBuildPlugin(self, packagename, Edk2pathObj, pkgconfig, environment, PLM, PLMHelper, tc, output_stream=None): edk2_path = Edk2pathObj.WorkspacePath - python_path = os.path.join(edk2_path, "BaseTools", "Source", "Python") + basetools_path = environment.GetValue("EDK_TOOLS_PATH") + python_path = os.path.join(basetools_path, "Source", "Python") env = shell_environment.GetEnvironment() env.set_shell_var('PYTHONPATH', python_path) env.set_shell_var('WORKSPACE', edk2_path) self.ECC_PASS = True - self.ApplyConfig(pkgconfig, edk2_path, packagename) + self.ApplyConfig(pkgconfig, edk2_path, basetools_path, packagename) modify_dir_list = self.GetModifyDir(packagename) patch = self.GetDiff(packagename) ecc_diff_range = self.GetDiffRange(patch, packagename, edk2_path) - self.GenerateEccReport(modify_dir_list, ecc_diff_range, edk2_path) + self.GenerateEccReport(modify_dir_list, ecc_diff_range, edk2_path, basetools_path) ecc_log = os.path.join(edk2_path, "Ecc.log") self.RevertCode() if self.ECC_PASS: @@ -176,11 +178,11 @@ class EccCheck(ICiBuildPlugin): return comment_range def GenerateEccReport(self, modify_dir_list: List[str], ecc_diff_range: Dict[str, List[Tuple[int, int]]], - edk2_path: str) -> None: + edk2_path: str, basetools_path: str) -> None: ecc_need = False ecc_run = True - config = os.path.join(edk2_path, "BaseTools", "Source", "Python", "Ecc", "config.ini") - exception = os.path.join(edk2_path, "BaseTools", "Source", "Python", "Ecc", "exception.xml") + config = os.path.join(basetools_path, "Source", "Python", "Ecc", "config.ini") + exception = os.path.join(basetools_path, "Source", "Python", "Ecc", "exception.xml") report = os.path.join(edk2_path, "Ecc.csv") for modify_dir in modify_dir_list: target = os.path.join(edk2_path, modify_dir) @@ -234,7 +236,7 @@ class EccCheck(ICiBuildPlugin): log.writelines(all_line) return - def ApplyConfig(self, pkgconfig: Dict[str, List[str]], edk2_path: str, pkg: str) -> None: + def ApplyConfig(self, pkgconfig: Dict[str, List[str]], edk2_path: str, basetools_path: str, pkg: str) -> None: if "IgnoreFiles" in pkgconfig: for a in pkgconfig["IgnoreFiles"]: a = os.path.join(edk2_path, pkg, a) @@ -251,7 +253,7 @@ class EccCheck(ICiBuildPlugin): if "ExceptionList" in pkgconfig: exception_list = pkgconfig["ExceptionList"] - exception_xml = os.path.join(edk2_path, "BaseTools", "Source", "Python", "Ecc", "exception.xml") + exception_xml = os.path.join(basetools_path, "Source", "Python", "Ecc", "exception.xml") try: logging.info("Appending exceptions") self.AppendException(exception_list, exception_xml) -- 2.17.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#77534): https://edk2.groups.io/g/devel/message/77534 Mute This Topic: https://groups.io/mt/84030564/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-