在构建多个目标时可以堆叠_not_静噪输出吗?

时间:2017-02-07 21:26:30

标签: haskell-stack

在具有多个cabal文件的项目中使用堆栈时,在单个目标和多个目标上使用堆栈命令时,详细程度似乎存在差异。

这似乎适用于所有类型的堆栈命令,所以我只举几个例子。

使用stack build sub-project-1,堆栈将显示它编译的每个模块的进度。但stack build sub-project-1 sub-project-2stack build会突然显示正在处理的目标,而不会显示正在处理的任何模块。

我最近发现的另一个例子是stack test。我想获得所有美味测试的完整列表,所以我运行了stack test --test-arguments="-l"。但所有打印出来的都是:

sub-project-1-0.0.0.1: test (suite: run-tests, args: -l)
sub-project-2-0.0.0.1: test (suite: run-tests, args: -l)
Completed 2 action(s).
Log files have been written to: /projdir/.stack-work/logs/

即使我手动指定了我想要的目标,例如:stack test sub-project-1 sub-project-2 --test-arguments="-l",它也会给我带来同样无益的输出。

我必须使用一个目标运行堆栈:stack test sub-project-1 --test-arguments="-l"以获取我正在寻找的任何输出:

sub-project-1-0.0.0.1: test (suite: run-tests, args: -l)

all tests/tasty tests/this is a test
all tests/tasty tests/this is another test

在针对多个软件包运行时,有什么办法可以让堆栈不会压低输出?堆栈详细程度似乎与此无关。他们似乎认为-v表示"打印出调试语句"

1 个答案:

答案 0 :(得分:1)

感谢sjakobi的建议。

最新版本的堆栈有一个选项:--dump-logs

此选项将显示每个操作堆栈的输出对每个目标的影响。