On Thu, 6 May 2021 20:39:11 GMT, John Neffenger <[email protected]> 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