> 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`. 🤓

John Neffenger has updated the pull request with a new target base due to a 
merge or a rebase. The incremental webrev excludes the unrelated changes 
brought in by the merge/rebase. The pull request contains three additional 
commits since the last revision:

 - JDK-8266396: Allow VSCMD_DEBUG to work as intended
 - Merge branch 'master' into vscmd-debug
 - JDK-8266396: Add VSCMD_DEBUG to genVSproperties.bat environment

-------------

Changes:
  - all: https://git.openjdk.java.net/jfx/pull/488/files
  - new: https://git.openjdk.java.net/jfx/pull/488/files/248d0f72..6f6f4932

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jfx&pr=488&range=01
 - incr: https://webrevs.openjdk.java.net/?repo=jfx&pr=488&range=00-01

  Stats: 227 lines in 11 files changed: 179 ins; 21 del; 27 mod
  Patch: https://git.openjdk.java.net/jfx/pull/488.diff
  Fetch: git fetch https://git.openjdk.java.net/jfx pull/488/head:pull/488

PR: https://git.openjdk.java.net/jfx/pull/488

Reply via email to