summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarvin Ha?user <mhaeuser@posteo.de>2023-02-01 06:47:50 -0800
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2023-02-08 20:21:30 +0000
commitb59e6fdae2545b45c36c8c5373f4b858fb83c8cd (patch)
tree63aebd685ab788f9787fc629ea592af67287c938
parent5db84c85c3544b92fa236c4d169440d523712ae0 (diff)
downloadedk2-b59e6fdae2545b45c36c8c5373f4b858fb83c8cd.tar.gz
edk2-b59e6fdae2545b45c36c8c5373f4b858fb83c8cd.tar.bz2
edk2-b59e6fdae2545b45c36c8c5373f4b858fb83c8cd.zip
.pytool/Plugin/EccCheck: Add PACKAGES_PATH support
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4326 EccBuild currently assumes all packages reside in WORKSPACE. However, this is obviously not the case for many setups. Most notably, Ext4Pkg is located in edk2-platforms/Features and thus cannot be in WORKSPACE in any reasonable setup. Use Edk2Path to locate the package in WORKSPACE and PACKAGES_PATH. Cc: Sean Brogan <sean.brogan@microsoft.com> Cc: Michael Kubacki <mikuback@linux.microsoft.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Pedro Falcato <pedro.falcato@gmail.com> Signed-off-by: Marvin H?user <mhaeuser@posteo.de> Acked-by: Pedro Falcato <pedro.falcato@gmail.com> Reviewed-by: Michael Kubacki <michael.kubacki@microsoft.com>
-rw-r--r--.pytool/Plugin/EccCheck/EccCheck.py9
1 files changed, 8 insertions, 1 deletions
diff --git a/.pytool/Plugin/EccCheck/EccCheck.py b/.pytool/Plugin/EccCheck/EccCheck.py
index 4fbc67765f..7235fcb55c 100644
--- a/.pytool/Plugin/EccCheck/EccCheck.py
+++ b/.pytool/Plugin/EccCheck/EccCheck.py
@@ -69,6 +69,13 @@ class EccCheck(ICiBuildPlugin):
env.set_shell_var('PACKAGES_PATH', os.pathsep.join(Edk2pathObj.PackagePathList))
self.ECC_PASS = True
+ abs_pkg_path = Edk2pathObj.GetAbsolutePathOnThisSystemFromEdk2RelativePath(packagename)
+
+ if abs_pkg_path is None:
+ tc.SetSkipped()
+ tc.LogStdError("No Package folder {0}".format(abs_pkg_path))
+ return 0
+
# Create temp directory
temp_path = os.path.join(workspace_path, 'Build', '.pytool', 'Plugin', 'EccCheck')
try:
@@ -77,7 +84,7 @@ class EccCheck(ICiBuildPlugin):
shutil.rmtree(temp_path)
# Copy package being scanned to temp_path
shutil.copytree (
- os.path.join(workspace_path, packagename),
+ abs_pkg_path,
os.path.join(temp_path, packagename),
symlinks=True
)