summaryrefslogtreecommitdiff
path: root/src/rebar3.erl
diff options
context:
space:
mode:
authorBryan Paxton <paxtonb@cargotel.com>2018-06-09 18:25:17 -0500
committerBryan Paxton <paxtonb@cargotel.com>2018-06-11 21:13:28 -0500
commit70f063dc15d4003f0a5dc85523de02397d9cc250 (patch)
tree39ae86f15af4f878240bd6637640e12a3c4cd28e /src/rebar3.erl
parenta74dc021cc9dd89b7448d894e262ebe5a82285cd (diff)
Finish adding specs for private funs in rebar3.erl
- added type specs for following private functions: - run/1 - set_options/2 - test_state/1 - safe_define_test_macro/1 - test_defined/1
Diffstat (limited to 'src/rebar3.erl')
-rw-r--r--src/rebar3.erl5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/rebar3.erl b/src/rebar3.erl
index 9a5486d..ec8e953 100644
--- a/src/rebar3.erl
+++ b/src/rebar3.erl
@@ -93,6 +93,7 @@ run(BaseState, Commands) ->
%% arguments passed, if they have any relevance; used to translate
%% from the escript call-site into a common one with the library
%% usage.
+-spec run([any(), ...]) -> {ok, rebar_state:t()} | {error, term()}.
run(RawArgs) ->
start_and_load_apps(command_line),
@@ -239,6 +240,7 @@ parse_args([Task | RawRest]) ->
{list_to_atom(Task), RawRest}.
%% @private actually not too sure what this does anymore.
+-spec set_options(rebar_state:t(),{[any()],[any()]}) -> {rebar_state:t(),[any()]}.
set_options(State, {Options, NonOptArgs}) ->
GlobalDefines = proplists:get_all_values(defines, Options),
@@ -387,6 +389,7 @@ state_from_global_config(Config, GlobalConfigFile) ->
GlobalConfig3 = rebar_state:set(GlobalConfig2, {plugins, global}, rebar_state:get(GlobalConfigThrowAway, plugins, [])),
rebar_state:providers(rebar_state:new(GlobalConfig3, Config), GlobalPlugins).
+-spec test_state(rebar_state:t()) -> [{'extra_src_dirs',[string()]} | {'erl_opts',[any()]}].
test_state(State) ->
%% Fetch the test profile's erl_opts only
Opts = rebar_state:opts(State),
@@ -396,6 +399,7 @@ test_state(State) ->
TestOpts = safe_define_test_macro(ErlOpts),
[{extra_src_dirs, ["test"]}, {erl_opts, TestOpts}].
+-spec safe_define_test_macro([any()]) -> [any()] | [{'d',atom()} | any()].
safe_define_test_macro(Opts) ->
%% defining a compile macro twice results in an exception so
%% make sure 'TEST' is only defined once
@@ -404,6 +408,7 @@ safe_define_test_macro(Opts) ->
false -> [{d, 'TEST'}|Opts]
end.
+-spec test_defined([{d, atom()} | {d, atom(), term()} | term()]) -> boolean().
test_defined([{d, 'TEST'}|_]) -> true;
test_defined([{d, 'TEST', true}|_]) -> true;
test_defined([_|Rest]) -> test_defined(Rest);