On Thu, 6 May 2021 20:39:11 GMT, John Neffenger <jgn...@openjdk.org> wrote:
> The Windows build calls a series of batch files to get the Visual Studio > paths and environment variables. The batch files are a black box: any > messages they print are discarded. If anything goes wrong, the only signs are > a vague Gradle exception and a corrupted properties file. > > This has been causing problems for years. There are at least 49 messages on > the mailing since 2017 that discuss the exception and ways to work around it. > > This pull request lets you enable the batch file messages, shedding light on > their internal workings and allowing you to catch any errors at their source. > Specifically, it adds the variable `VSCMD_DEBUG` to the environment of > `genVSproperties.bat` and documents its use. > > ### Before > > For example, if your `PATH` environment variable is missing > `C:/Windows/System32`, like mine was, you'll see the following errors: > > > $ gradle sdk > Dependency verification is an incubating feature. > > FAILURE: Build failed with an exception. > > * Where: > Script 'C:\cygwin64\home\john\src\jfx\buildSrc\win.gradle' line: 108 > > * What went wrong: > A problem occurred evaluating script. >> FAIL: WINSDK_DIR not defined > > ︙ > > BUILD FAILED in 4s > > > *Me:* What's a `WINSDK_DIR`? The Wiki says, "This means that you will have to > define these paths manually." I guess this is normal. 😕️ > > ### After > > With this change, you can set the debug level to "3" in the `win.gradle` file > and get a better picture of the problem: > > > $ gradle sdk > Dependency verification is an incubating feature. > >> Configure project : > 'reg' is not recognized as an internal or external command, > operable program or batch file. > 'reg' is not recognized as an internal or external command, > operable program or batch file. > 'reg' is not recognized as an internal or external command, > operable program or batch file. > > ︙ > > 'powershell.exe' is not recognized as an internal or external command, > operable program or batch file. > > FAILURE: Build failed with an exception. > > * Where: > Script 'C:\cygwin64\home\john\src\jfx\buildSrc\win.gradle' line: 108 > > * What went wrong: > A problem occurred evaluating script. >> FAIL: WINSDK_DIR not defined > > ︙ > > BUILD FAILED in 3s > > > *Me:* Oh, it's just a "command not found" error. I'll check my `PATH`. 🤓 It would be more convenient to ask the developer set `VSCMD_DEBUG` via an env variable, rather than asking them to edit `win.gradle`. That way, the instructions would be: export VSCMD_DEBUG=3 export VSCMD_SKIP_SENDTELEMETRY=1 gradle ------------- PR: https://git.openjdk.java.net/jfx/pull/488