Enable verbose output from the ICU data build when building DEBUG on Windows
If the ICU Data Build fails for any reason during the Python data build script on Windows, then you get almost nothing helpful in terms of error messages or logs.
For example, this was the entirety of the output from some of the build failures on https://github.com/unicode-org/icu/pull/1141.
(Note: The error code 0x01 below tells you absolutely nothing other than NMAKE failed.)
This isn't an issue on non-Windows platforms, as the Python data build script is run as part of the configure script, and not during the build (make).
I'd like to propose adding/passing the option --verbose to the ICU data build when building under the DEBUG setting on Windows.
This would make investigating build failures easier to track down.
I think maybe we could modify the helper function run_shell_command to log the command line if it fails
This would let us see what the failing command was even on Release builds:
FWIW, I get the same unhelpful output when using MSBuild on the command line as well:
Ah, it does look like there is output from stderr, but its not part of the VS output. Here’s what I see in the “raw logs” from the CI build.
Unfortunately, this isn’t very helpful though, as it doesn’t include any output from the actual tool:
2020-05-07T05:56:58.5532412Z !!! ERROR executing above command line: exit code 3221225477
Feedback from Shane was that the data build script should output any errors to stderr. So, this might be due to the VS build not including output from stderr. (If you build with msbuild on the command line you’d likely see the output from stderr.)