如何在构建期间更改由 Shake 打印的信息

How to change the information printed by Shake during a build

当前在构建 Shake 输出行时,例如:

# gcc (for debugBuild)

但这对我们的应用程序没有任何信息,所以我们想打印如下内容:

objectFileName.o[configurationFlavour]

如何在 Shake 中做到这一点?

最简单的方法是使用 shakeVerbosityVerbosity 字段,或者 --verbose。在 Normal 我得到:

# ghc (for output/self/General/Intern.o output/self/General/Intern.hi)

Verbose 我得到:

ghc -c src\Development/Shake/Classes.hs -isrc -main-is Run.main -odir=output/self -hidir=output/self -i=output/self -DPORTABLE -fwarn-unused-imports

如果这还不够,您可以使用 quietly 删除 cmd 的输出并使用 putNormal:

打印您自己的消息
putNormal "I'm running objectFileName.o in configuration"
quietly $ cmd "gcc -c objectFileName.o"