[edk2-devel] [PATCH v1 1/1] BaseTools: Update WindowsVsToolChain plugin

Joey Vagedes joey.vagedes at gmail.com
Mon Feb 6 16:52:45 UTC 2023


I received an Acked-by, but would like to request a Reviewed-by from a
BaseTools maintainer.
@gaoliming at 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 at linux.microsoft.com>
wrote:

> Acked-by: Michael Kubacki <michael.kubacki at 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 at intel.com>
> > Cc: Liming Gao <gaoliming at byosoft.com.cn>
> > Cc: Yuwei Chen <yuwei.chen at intel.com>
> > Cc: Michael D Kinney <michael.d.kinney at intel.com>
> >
> > Signed-off-by: Joey Vagedes <joey.vagedes at 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
> >
>


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#99689): https://edk2.groups.io/g/devel/message/99689
Mute This Topic: https://groups.io/mt/96691434/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/edk2-devel-archive/attachments/20230206/e3893445/attachment.htm>


More information about the edk2-devel-archive mailing list