diff options
-rw-r--r-- | .travis.yml | 2 | ||||
-rwxr-xr-x | bootstrap | 2 | ||||
-rw-r--r-- | rebar.config | 4 | ||||
-rw-r--r-- | rebar.lock | 8 | ||||
-rw-r--r-- | src/rebar.app.src | 2 | ||||
-rw-r--r-- | src/rebar_erlc_compiler.erl | 21 | ||||
-rw-r--r-- | src/rebar_prv_local_install.erl | 8 |
7 files changed, 31 insertions, 16 deletions
diff --git a/.travis.yml b/.travis.yml index 1cca5c5..c6c685a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,6 +9,8 @@ matrix: otp_release: 19.3 - os: linux otp_release: 20.0 + - os: linux + otp_release: 21.0 - os: osx language: generic before_script: @@ -24,7 +24,7 @@ main(_) -> bootstrap_rebar3(), %% Build rebar.app from rebar.app.src - {ok, App} = rebar_app_info:new(rebar, "3.6.0", filename:absname("_build/default/lib/rebar/")), + {ok, App} = rebar_app_info:new(rebar, "3.6.1", filename:absname("_build/default/lib/rebar/")), rebar_otp_app:compile(rebar_state:new(), App), %% Because we are compiling files that are loaded already we want to silence diff --git a/rebar.config b/rebar.config index 5bd4fab..8572ff3 100644 --- a/rebar.config +++ b/rebar.config @@ -1,13 +1,13 @@ %% -*- mode: erlang;erlang-indent-level: 4;indent-tabs-mode: nil -*- %% ex: ts=4 sw=4 ft=erlang et -{deps, [{erlware_commons, "1.1.0"}, +{deps, [{erlware_commons, "1.2.0"}, {ssl_verify_fun, "1.1.3"}, {certifi, "2.0.0"}, {providers, "1.7.0"}, {getopt, "1.0.1"}, {bbmustache, "1.5.0"}, - {relx, "3.25.0"}, + {relx, "3.26.0"}, {cf, "0.2.2"}, {cth_readable, "1.4.2"}, {eunit_formatters, "0.5.0"}]}. @@ -3,11 +3,11 @@ {<<"certifi">>,{pkg,<<"certifi">>,<<"2.0.0">>},0}, {<<"cf">>,{pkg,<<"cf">>,<<"0.2.2">>},0}, {<<"cth_readable">>,{pkg,<<"cth_readable">>,<<"1.4.2">>},0}, - {<<"erlware_commons">>,{pkg,<<"erlware_commons">>,<<"1.1.0">>},0}, + {<<"erlware_commons">>,{pkg,<<"erlware_commons">>,<<"1.2.0">>},0}, {<<"eunit_formatters">>,{pkg,<<"eunit_formatters">>,<<"0.5.0">>},0}, {<<"getopt">>,{pkg,<<"getopt">>,<<"1.0.1">>},0}, {<<"providers">>,{pkg,<<"providers">>,<<"1.7.0">>},0}, - {<<"relx">>,{pkg,<<"relx">>,<<"3.25.0">>},0}, + {<<"relx">>,{pkg,<<"relx">>,<<"3.26.0">>},0}, {<<"ssl_verify_fun">>,{pkg,<<"ssl_verify_fun">>,<<"1.1.3">>},0}]}. [ {pkg_hash,[ @@ -15,10 +15,10 @@ {<<"certifi">>, <<"A0C0E475107135F76B8C1D5BC7EFB33CD3815CB3CF3DEA7AEFDD174DABEAD064">>}, {<<"cf">>, <<"7F2913FFF90ABCABD0F489896CFEB0B0674F6C8DF6C10B17A83175448029896C">>}, {<<"cth_readable">>, <<"0F57B4EB7DA7F5438F422312245F9143A1B3118C11B6BAE5C3D1391C9EE88322">>}, - {<<"erlware_commons">>, <<"F69F3D96044C2A9E735CCD76F469FEC5FC851797E5FE23115698B4EDC072191B">>}, + {<<"erlware_commons">>, <<"2BAB99CF88941145767A502F1209886F1F0D31695EEF21978A30F15E645721E0">>}, {<<"eunit_formatters">>, <<"6A9133943D36A465D804C1C5B6E6839030434B8879C5600D7DDB5B3BAD4CCB59">>}, {<<"getopt">>, <<"C73A9FA687B217F2FF79F68A3B637711BB1936E712B521D8CE466B29CBF7808A">>}, {<<"providers">>, <<"BBF730563914328EC2511D205E6477A94831DB7297DE313B3872A2B26C562EAB">>}, - {<<"relx">>, <<"460A336514DC209F0FA243A6F2D4ECB33B3652A1588CAF9FCE3C1FA170FACAEC">>}, + {<<"relx">>, <<"DD645ECAA1AB1647DB80D3E9BCAE0B39ED0A536EF37245F6A74B114C6D0F4E87">>}, {<<"ssl_verify_fun">>, <<"6C49665D4326E26CD4A5B7BD54AA442B33DADFB7C5D59A0D0CD0BF5534BBFBD7">>}]} ]. diff --git a/src/rebar.app.src b/src/rebar.app.src index 5c76f59..c96f65c 100644 --- a/src/rebar.app.src +++ b/src/rebar.app.src @@ -3,7 +3,7 @@ {application, rebar, [{description, "Rebar: Erlang Build Tool"}, - {vsn, "3.6.0"}, + {vsn, "git"}, {modules, []}, {registered, []}, {applications, [kernel, diff --git a/src/rebar_erlc_compiler.erl b/src/rebar_erlc_compiler.erl index ebdd9dd..920c3b4 100644 --- a/src/rebar_erlc_compiler.erl +++ b/src/rebar_erlc_compiler.erl @@ -799,8 +799,27 @@ dir_recursive(Opts, Dir, CompileOpts) when is_list(CompileOpts) -> end. valid_erl_first_conf(FileList) -> - case rebar_utils:is_list_of_strings(FileList) of + Strs = filter_file_list(FileList), + case rebar_utils:is_list_of_strings(Strs) of true -> true; false -> ?ABORT("An invalid file list (~p) was provided as part of your erl_files_first directive", [FileList]) end. + +filter_file_list(FileList) -> + Atoms = lists:filter( fun(X) -> is_atom(X) end, FileList), + case Atoms of + [] -> + FileList; + _ -> + atoms_in_erl_first_files_warning(Atoms), + lists:filter( fun(X) -> not(is_atom(X)) end, FileList) + end. + +atoms_in_erl_first_files_warning(Atoms) -> + W = "You have provided atoms as file entries in erl_first_files; " + "erl_first_files only expects lists of filenames as strings. " + "The following modules (~p) may not work as expected and it is advised " + "that you change these entires to string format " + "(e.g., \"src/module.erl\") ", + ?WARN(W, [Atoms]). diff --git a/src/rebar_prv_local_install.erl b/src/rebar_prv_local_install.erl index c41812f..cd6a204 100644 --- a/src/rebar_prv_local_install.erl +++ b/src/rebar_prv_local_install.erl @@ -89,15 +89,9 @@ extract_escript(State, ScriptPath) -> BinFile = filename:join(BinDir, "rebar3"), filelib:ensure_dir(BinFile), - {ok, #file_info{mode = _, - uid = Uid, - gid = Gid}} = file:read_file_info(ScriptPath), - ?INFO("Writing rebar3 run script ~ts...", [BinFile]), file:write_file(BinFile, bin_contents(OutputDir)), - ok = file:write_file_info(BinFile, #file_info{mode=33277, - uid=Uid, - gid=Gid}), + ok = file:write_file_info(BinFile, #file_info{mode=33277}), ?INFO("Add to $PATH for use: export PATH=~ts:$PATH", [BinDir]), |