]> git.proxmox.com Git - mirror_edk2.git/commitdiff
.pytool/Plugin/EccCheck: Add PACKAGES_PATH support
authorMarvin Ha?user <mhaeuser@posteo.de>
Wed, 1 Feb 2023 14:47:50 +0000 (06:47 -0800)
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Wed, 8 Feb 2023 20:21:30 +0000 (20:21 +0000)
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>
.pytool/Plugin/EccCheck/EccCheck.py

index 4fbc67765fdf061e03abd2075976ab19e59b35e8..7235fcb55ceae5a7ba9ba22bf0aa1dd5762d4cff 100644 (file)
@@ -69,6 +69,13 @@ class EccCheck(ICiBuildPlugin):
         env.set_shell_var('PACKAGES_PATH', os.pathsep.join(Edk2pathObj.PackagePathList))\r
         self.ECC_PASS = True\r
 \r
+        abs_pkg_path = Edk2pathObj.GetAbsolutePathOnThisSystemFromEdk2RelativePath(packagename)\r
+\r
+        if abs_pkg_path is None:\r
+            tc.SetSkipped()\r
+            tc.LogStdError("No Package folder {0}".format(abs_pkg_path))\r
+            return 0\r
+\r
         # Create temp directory\r
         temp_path = os.path.join(workspace_path, 'Build', '.pytool', 'Plugin', 'EccCheck')\r
         try:\r
@@ -77,7 +84,7 @@ class EccCheck(ICiBuildPlugin):
                 shutil.rmtree(temp_path)\r
             # Copy package being scanned to temp_path\r
             shutil.copytree (\r
-              os.path.join(workspace_path, packagename),\r
+              abs_pkg_path,\r
               os.path.join(temp_path, packagename),\r
               symlinks=True\r
               )\r