dlang / dub

Package and build management system for D
MIT License
678 stars 227 forks source link

Quiet mode could try to silence informative linker messages #2519

Open AndrejMitrovic opened 2 years ago

AndrejMitrovic commented 2 years ago

On Windows sporadically on about every ~15 builds I'm getting this message from MSVC:

dub -q build
LINK : .dub\build\application-debug-windows-x86_64-dmd_v2.100.0-dirty-C291AB8D469AB4E95EA127F86537E9F0\app.exe 
  not found or not built by the last incremental link; performing full link

There's really no way to silence this other than to pipe it and grep -v it out. There doesn't seem to be a linker option for MSVC to silence its informative outputs. Pretty much the opposite of Posix where tools are supposed to be quiet if everything's ok.

Is there any way we can make dub swallow these warnings if -q is passed?

I think it could be done if dub uses pipes to spawn the linker (e.g. pipeShell / pipeProcess). It could then map the process pipes to its own stdout/stderr if -q is not passed, or if -q was provided then only emit to stdout/stderr if the linker process exits with a non-zero status code.


This is really a low priority feature request btw.