首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用make和grep忽略现有的透析器错误

使用make和grep忽略现有的透析器错误
EN

Stack Overflow用户
提问于 2015-01-13 14:12:59
回答 2查看 191关注 0票数 1

我试图让詹金斯运行透析器上的erlang代码,但我有一个问题。当我们将它引入到一个现有的项目中时,有一些我们不想标记的现有错误,我们在文件透析器-忽略警告中有这些错误。

我的makefile中有这样的内容,但我真正想要做的是,如果grep返回一个空文档,返回一个值,如果有新的错误,则返回一个值。但是我的剧本

代码语言:javascript
运行
复制
(DEPS_PLT): compile
    @echo Building local plt at $(DEPS_PLT)
    @echo 
    @(echo "Using Dialyzer in `which dialyzer`"; dialyzer --output_plt $(DEPS_PLT) --build_plt --apps  $(DEPS))


dialyzer: compile $(DEPS_PLT)
    @(echo "Using Dialyzer in `which dialyzer`"; dialyzer --fullpath --plt $(DEPS_PLT) -Wrace_conditions -r ./ebin)|\
    fgrep -v -f ./dialyzer-ignore-warnings
EN

回答 2

Stack Overflow用户

发布于 2015-01-13 14:47:52

也许是这样的:

代码语言:javascript
运行
复制
dialyzer: compile $(DEPS_PLT)
    @echo "Using Dialyzer in `which dialyzer`"
    @(dialyzer --fullpath --plt $(DEPS_PLT) -Wrace_conditions -r ./ebin)|\
    fgrep -v -f ./dialyzer-ignore-warnings; test "$$?" != 0

也就是说,确保fgrep的退出代码不是零。

票数 2
EN

Stack Overflow用户

发布于 2015-01-16 12:07:01

下面是钢筋存储库中的类似解决方案:

Makefile包含:

代码语言:javascript
运行
复制
dialyzer: dialyzer_warnings
    @diff -U0 dialyzer_reference dialyzer_warnings

dialyzer_warnings:
    -@dialyzer -q -nn -n ebin -Wunmatched_returns -Werror_handling \
        -Wrace_conditions > dialyzer_warnings

参考文件包含:

代码语言:javascript
运行
复制
rebar_eunit.erl:388: Call to missing or unexported function eunit_test:function_wrapper/2
rebar_utils.erl:163: Call to missing or unexported function escript:foldl/3
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27924125

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档