Bug 196760 - [Win] Use a bundled vswhere.exe instead of downloading by update-vswhere.py
Summary: [Win] Use a bundled vswhere.exe instead of downloading by update-vswhere.py
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Tools / Tests (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Fujii Hironori
URL:
Keywords: InRadar
Depends on:
Blocks: 196622
  Show dependency treegraph
 
Reported: 2019-04-09 20:33 PDT by Fujii Hironori
Modified: 2019-04-10 17:09 PDT (History)
9 users (show)

See Also:


Attachments
Patch (10.92 KB, patch)
2019-04-09 22:03 PDT, Fujii Hironori
no flags Details | Formatted Diff | Diff
Patch (10.92 KB, patch)
2019-04-09 22:38 PDT, Fujii Hironori
no flags Details | Formatted Diff | Diff
Patch (8.09 KB, patch)
2019-04-10 01:20 PDT, Fujii Hironori
no flags Details | Formatted Diff | Diff
Patch (8.10 KB, patch)
2019-04-10 02:29 PDT, Fujii Hironori
no flags Details | Formatted Diff | Diff
Have vswhere find msbuild itself (9.43 KB, patch)
2019-04-10 15:04 PDT, Stephan Szabo
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Fujii Hironori 2019-04-09 20:33:18 PDT
[Win] Use a bundled vswhere.exe instead of downloading by update-vswhere.py

We shouldn't download vswhere.exe anymore.

https://github.com/Microsoft/vswhere

> vswhere is included with the installer as of Visual Studio 2017
> version 15.2 and later, and can be found at the following
> location: %ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe.
Comment 1 Fujii Hironori 2019-04-09 22:03:24 PDT
Created attachment 367100 [details]
Patch
Comment 2 Fujii Hironori 2019-04-09 22:34:13 PDT
AppleWin EWS failed.

> -- Building for: Visual Studio 15 2017
> -- The C compiler identification is MSVC 19.11.25547.0
> -- The CXX compiler identification is MSVC 19.11.25547.0
> -- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.11.25503/bin/Hostx64/x86/cl.exe
> -- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.11.25503/bin/Hostx64/x86/cl.exe -- works
> (...)
> Died at /home/buildbot/WebKit/Tools/Scripts/webkitdirs.pm line 1825.
> Using MSBuild: Visual Studio Locator version 2.1.3 [query version 1.12.134.36697]
> *************************************************************
> Cannot find 'Visual Studio Locator version 2.1.3 [query version 1.12.134.36697]
> '
> Please make sure execute that the Microsoft .NET Framework SDK
> is installed on this machine.
> *************************************************************

It seems using Visual Studio 2017 version 15.3. Umm, why?
Comment 3 Fujii Hironori 2019-04-09 22:38:33 PDT
Created attachment 367104 [details]
Patch

* Added -no-logo
Comment 4 Fujii Hironori 2019-04-09 23:22:16 PDT
Comment on attachment 367104 [details]
Patch

Oh, no. AppleWin EWS failed again.

> Using MSBuild: Error 0x57: Unknown parameter: find
> *************************************************************
> Cannot find 'Error 0x57: Unknown parameter: find
> '
> Please make sure execute that the Microsoft .NET Framework SDK
> is installed on this machine.
> *************************************************************
Comment 5 Fujii Hironori 2019-04-10 01:20:36 PDT
Created attachment 367109 [details]
Patch
Comment 6 Fujii Hironori 2019-04-10 02:29:55 PDT
Created attachment 367112 [details]
Patch

* Remove CR LF of the output of vswhere
Comment 7 Don Olmstead 2019-04-10 11:21:40 PDT
Comment on attachment 367112 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=367112&action=review

> Tools/ChangeLog:9
> +        vswhere.exe has been bundled since Visual Studio 2017 version
> +        15.2. We shouldn't download vswhere.exe.

I'm not sure that we shouldn't have a download as a fallback.
Comment 8 Stephan Szabo 2019-04-10 11:39:04 PDT
Actually, if we're doing this, maybe it'd be easier to switch to just finding the msbuild location at the same time since we're not using any of the other information from vswhere.
Comment 9 Fujii Hironori 2019-04-10 15:04:43 PDT
(In reply to Don Olmstead from comment #7)
> I'm not sure that we shouldn't have a download as a fallback.

We shouldn’t keep update-vswhere without knowing the reason. I’ll restore it if we’ll have the reason we need to download.
Comment 10 Stephan Szabo 2019-04-10 15:04:54 PDT
Created attachment 367167 [details]
Have vswhere find msbuild itself

Per earlier comment and separate comments on the 2019 patch, maybe something like this to just have vswhere do the lifting for finding msbuild in the non-VSINSTALLDIR case.
Comment 11 Stephan Szabo 2019-04-10 15:13:26 PDT
I missed that was what was tried in one of the patches that was obsolete.
Comment 12 Stephan Szabo 2019-04-10 15:52:08 PDT
Since it was asked elsewhere, from my standpoint the steps after this would be to get some version of the 2019 patch done so that we can find the msbuild and to let cmake pick the generator for wincairo. And then try to work out how to handle playstation port's version requirements (whether that is to force vcvars + update the script to set the platform, force vcvars and users to update PLATFORM or to find 2017). Both of which can be followups.
Comment 13 WebKit Commit Bot 2019-04-10 17:08:39 PDT
Comment on attachment 367112 [details]
Patch

Clearing flags on attachment: 367112

Committed r244171: <https://trac.webkit.org/changeset/244171>
Comment 14 WebKit Commit Bot 2019-04-10 17:08:41 PDT
All reviewed patches have been landed.  Closing bug.
Comment 15 Radar WebKit Bug Importer 2019-04-10 17:09:31 PDT
<rdar://problem/49796686>