Joey:

 This patch is good to me. Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>

 

 Dose this patch plan to catch this stable tag 202302?

 

Thanks

Liming

发件人: Joey Vagedes <joey.vagedes@gmail.com>
发送时间: 202327 0:53
收件人: Liming Gao <gaoliming@byosoft.com.cn>; Michael D Kinney <michael.d.kinney@intel.com>; Bob Feng <bob.c.feng@intel.com>; Yuwei Chen <yuwei.chen@intel.com>
抄送: devel@edk2.groups.io; Michael Kubacki <mikuback@linux.microsoft.com>
主题: Re: [edk2-devel] [PATCH v1 1/1] BaseTools: Update WindowsVsToolChain plugin

 

I received an Acked-by, but would like to request a Reviewed-by from a BaseTools maintainer.
@gaoliming@byosoft.com.cn I would like to request that this change be included in the stable tag.

 

This change updates edk2-pytool-library and edk2-pytool-extensions to the latest release, which
brings in additional features and bug fixes for those building via edk2-pytools.

 

There are no breaking changes, and no changes in the required python version.

 

One of the changes made in edk2-pytool-library did result in a change in interface, which was necessary
to provide a better user experience in handling errors for said function, however this PR provides a tested
change (used by Project MU) for a script using the method in BaseTools.

 

This change is also critical for the edk2-pytools project itself as that project can not successfully perform
integration checks (which happen on every change to pytools) for edk2 on future PRs until this interface
is changed.

 

Thanks,

Joey

 

On Fri, Feb 3, 2023 at 7:43 PM Michael Kubacki <mikuback@linux.microsoft.com> wrote:

Acked-by: Michael Kubacki <michael.kubacki@microsoft.com>

On 2/1/2023 3:22 PM, Joey Vagedes wrote:
> This patch updates edk2-pytool-library dependency to v0.13.0, which has
> an interface change to FindWithVsWhere. The BaseTools plugin uses this
> function, so it is being updated to account for the interface change.
>
> Cc: Bob Feng <bob.c.feng@intel.com>
> Cc: Liming Gao <gaoliming@byosoft.com.cn>
> Cc: Yuwei Chen <yuwei.chen@intel.com>
> Cc: Michael D Kinney <michael.d.kinney@intel.com>
>
> Signed-off-by: Joey Vagedes <joey.vagedes@gmail.com>
> ---
>   BaseTools/Plugin/WindowsVsToolChain/WindowsVsToolChain.py | 16 ++++++++++++----
>   pip-requirements.txt                                      |  4 ++--
>   2 files changed, 14 insertions(+), 6 deletions(-)
>
> diff --git a/BaseTools/Plugin/WindowsVsToolChain/WindowsVsToolChain.py b/BaseTools/Plugin/WindowsVsToolChain/WindowsVsToolChain.py
> index 0fba2c1b5325..615b5ed6d131 100644
> --- a/BaseTools/Plugin/WindowsVsToolChain/WindowsVsToolChain.py
> +++ b/BaseTools/Plugin/WindowsVsToolChain/WindowsVsToolChain.py
> @@ -177,15 +177,23 @@ class WindowsVsToolChain(IUefiBuildPlugin):
>   
>
>       def _get_vs_install_path(self, vs_version, varname):
>
>           # check if already specified
>
> -        path = shell_environment.GetEnvironment().get_shell_var(varname)
>
> +        path = None
>
> +        if varname is not None:
>
> +            path = shell_environment.GetEnvironment().get_shell_var(varname)
>
> +
>
>           if(path is None):
>
>               # Not specified...find latest
>
> -            (rc, path) = FindWithVsWhere(vs_version=vs_version)
>
> -            if rc == 0 and path is not None and os.path.exists(path):
>
> +            try:
>
> +                path = FindWithVsWhere(vs_version=vs_version)
>
> +            except (EnvironmentError, ValueError, RuntimeError) as e:
>
> +                self.Logger.error(str(e))
>
> +                return None
>
> +
>
> +            if path is not None and os.path.exists(path):
>
>                   self.Logger.debug("Found VS instance for %s", vs_version)
>
>               else:
>
>                   self.Logger.error(
>
> -                    "Failed to find VS instance with VsWhere (%d)" % rc)
>
> +                    f"VsWhere successfully executed, but could not find VS instance for {vs_version}.")
>
>           return path
>
>   
>
>       def _get_vc_version(self, path, varname):
>
> diff --git a/pip-requirements.txt b/pip-requirements.txt
> index 4ffcadddd8cf..d3256ff1ade7 100644
> --- a/pip-requirements.txt
> +++ b/pip-requirements.txt
> @@ -12,8 +12,8 @@
>   # https://www.python.org/dev/peps/pep-0440/#version-specifiers
>
>   ##
>
>   
>
> -edk2-pytool-library==0.12.1
>
> -edk2-pytool-extensions~=0.20.0
>
> +edk2-pytool-library==0.13.1
>
> +edk2-pytool-extensions~=0.21.2
>
>   edk2-basetools==0.1.39
>
>   antlr4-python3-runtime==4.7.1
>
>   lcov-cobertura==2.0.2
>