mirror of
https://github.com/correl/rebar.git
synced 2024-11-23 11:09:55 +00:00
Add typer target
This patch adds a typer target to the Makefile. It makes it easier for developers to start adding specs to the codebase. It also as a build_plt target with the built-in applications typer needs to analyze rebar. This also includes the Erlang version in the generated PLT file. typer and dialyzer targets use this file. Finally, the distclean target removed the versioned PLT file.
This commit is contained in:
parent
a467abbb16
commit
33b8769bf7
1 changed files with 29 additions and 2 deletions
31
Makefile
31
Makefile
|
@ -2,6 +2,9 @@
|
|||
|
||||
REBAR=$(PWD)/rebar
|
||||
RETEST=$(PWD)/deps/retest/retest
|
||||
OTPVSNCMD='io:fwrite("~s",[rebar_utils:otp_release()]), halt().'
|
||||
OTPVSN = $(shell erl -pa ebin/ -noshell -eval $(OTPVSNCMD))
|
||||
PLT_FILENAME=~/.dialyzer_rebar_$(OTPVSN)_plt
|
||||
|
||||
all:
|
||||
./bootstrap
|
||||
|
@ -13,6 +16,7 @@ clean:
|
|||
distclean: clean
|
||||
@rm -f dialyzer_warnings
|
||||
@rm -rf deps
|
||||
@rm -f ~/.dialyzer_rebar_*_plt
|
||||
|
||||
debug:
|
||||
@./bootstrap debug
|
||||
|
@ -22,12 +26,35 @@ check: debug xref dialyzer deps test
|
|||
xref:
|
||||
@./rebar xref
|
||||
|
||||
build_plt:
|
||||
-dialyzer --build_plt --output_plt $(PLT_FILENAME) --apps \
|
||||
erts \
|
||||
kernel \
|
||||
stdlib \
|
||||
crypto \
|
||||
compiler \
|
||||
asn1 \
|
||||
eunit \
|
||||
tools \
|
||||
ssl \
|
||||
edoc \
|
||||
reltool \
|
||||
snmp \
|
||||
sasl
|
||||
-dialyzer --add_to_plt --output_plt $(PLT_FILENAME) --apps diameter
|
||||
|
||||
dialyzer: dialyzer_warnings
|
||||
@diff -U0 dialyzer_reference dialyzer_warnings
|
||||
|
||||
dialyzer_warnings:
|
||||
-@dialyzer -q -nn -n ebin -Wunmatched_returns -Werror_handling \
|
||||
-Wrace_conditions > dialyzer_warnings
|
||||
-@dialyzer --plt $(PLT_FILENAME) -q -nn -n ebin \
|
||||
-Wunmatched_returns \
|
||||
-Werror_handling \
|
||||
-Wrace_conditions \
|
||||
> dialyzer_warnings
|
||||
|
||||
typer:
|
||||
typer -r --plt $(PLT_FILENAME) ./src -I ./include
|
||||
|
||||
binary: VSN = $(shell ./rebar -V)
|
||||
binary: clean all
|
||||
|
|
Loading…
Reference in a new issue