Skip to content
Permalink
Browse files
Update master with mainline rebar (v2)
This PR uses the latest software provided by the upstream Rebar (v2) repo.

The most significant change allows this version of Rebar to work with
compilers which do not support the -m64 flag, as reported in #892
amongst others.

The latest code base also contains @davisp's Properly skip apps with a
.app.src.script file patch which CouchDB has been carrying for a while
now.
  • Loading branch information
wohali committed Nov 7, 2018
2 parents 5dea85d + b6d3094 commit 0c435f3d6676d28dd0096c83c1036330230951d6
Showing 156 changed files with 3,617 additions and 486 deletions.
@@ -9,8 +9,29 @@ otp_release:
- R14B04
- R14B03
- 17.0
- 18.0
- 19.1
- 20.0.5
- 20.1.5
env: MAKE_TARGET=ci
before_script:
- hostname -f
- cc -v
- ld -v
script: "make travis"
- find .rebar
after_script:
- find .rebar
matrix:
include:
- otp_release: 20.1.5
env: MAKE_TARGET=ci-dialyze
allow_failures:
- otp_release: 20.1.5
env: MAKE_TARGET=ci-dialyze
script: make $MAKE_TARGET
cache:
directories:
- .rebar
before_cache:
- rm -fv .rebar/erlcinfo
- rm -fv $HOME/.cache/.rebar/erlcinfo
@@ -22,11 +22,11 @@ check: debug xref dialyzer deps test
xref:
@./rebar xref

build_plt:
@./rebar build-plt
maybe_build_plt:
@./rebar -vv check-plt || ./rebar -vv build-plt

dialyzer:
@./rebar dialyze
dialyze: maybe_build_plt
@./rebar -vv dialyze

binary: VSN = $(shell ./rebar -V)
binary: clean all
@@ -45,4 +45,6 @@ test_eunit: all
test_inttest: all deps
@$(RETEST) -l $(LOG_LEVEL) $(RT_TARGETS)

travis: clean debug xref clean all deps test
ci: clean debug xref clean all deps test

ci-dialyze: clean debug dialyze
@@ -1,10 +1,15 @@
**rebar is deprecated and will receive only bug fixes. We encourage you to move to [rebar3](https://github.com/erlang/rebar3).**

----

rebar
=====

rebar is an Erlang build tool that makes it easy to compile and test Erlang
applications, port drivers and releases.

[![Build Status](https://secure.travis-ci.org/rebar/rebar.png?branch=master)](http://travis-ci.org/rebar/rebar)
[![Build status](https://ci.appveyor.com/api/projects/status/4c48dw0cbu265cvt?svg=true)](https://ci.appveyor.com/project/rebar-win-ci/rebar-t0g71)

rebar is a self-contained Erlang script, so it's easy to distribute or even
embed directly in a project. Where possible, rebar uses standard Erlang/OTP
@@ -1,3 +1,64 @@
# 2.6.4

* rebar/619: [Fix cdb processing when a file is skipped](https://github.com/rebar/rebar/pull/619)

# 2.6.3

* rebar/610: [qc: lift experimental notice](https://github.com/rebar/rebar/pull/610)
* rebar/611: [port_compiler: consistently format default_env/0](https://github.com/rebar/rebar/pull/611)
* rebar/612: [Introduce and use compat random number module](https://github.com/rebar/rebar/pull/612)
* rebar/614: [Add an additional check for the existence of a 'rebar.beam' file](https://github.com/rebar/rebar/pull/614)
* rebar/615: [port_compiler: generate clang compilation db](https://github.com/rebar/rebar/pull/615)
* rebar/616: [port_compiler: clean up compile_each()](https://github.com/rebar/rebar/pull/616)
* rebar/617: [port_compiler: auto-select C++ specific link template](https://github.com/rebar/rebar/pull/617)

# 2.6.2

* rebar/532: [Automatically clean neotoma-generated erl files, regression test](https://github.com/rebar/rebar/pull/532)
* rebar/549: [Add Windows continuous integration through AppVeyor](https://github.com/rebar/rebar/pull/549)
* rebar/551: [fprof: document Cachegrind support](https://github.com/rebar/rebar/pull/551)
* rebar/556: [fprof: further document Cachegrind support](https://github.com/rebar/rebar/pull/556)
* rebar/557: [Fix windows eunit tests](https://github.com/rebar/rebar/pull/557)
* rebar/558: [Add qualified name tests docs (see pr #119)](https://github.com/rebar/rebar/pull/558)
* rebar/560: [Lock retest dependency](https://github.com/rebar/rebar/pull/560)
* rebar/562: [Add support for Windows integration testing](https://github.com/rebar/rebar/pull/562)
* rebar/567: [Allow windows release to use etc conf dir](https://github.com/rebar/rebar/pull/567)
* rebar/570: [xref: fix dialyzer warning introduced in 69802f63120](https://github.com/rebar/rebar/pull/570)
* rebar/573: [Provide additional debug logging on relup generation](https://github.com/rebar/rebar/pull/573)
* rebar/578: [Add the latest OTP 18 version to the Travis build](https://github.com/rebar/rebar/pull/578)
* rebar/580: [Additional Common Test regression tests](https://github.com/rebar/rebar/pull/580)
* rebar/581: [Update retest dependency url](https://github.com/rebar/rebar/pull/581)
* rebar/586: [Ensure ebin created for dia compiler](https://github.com/rebar/rebar/pull/586)
* rebar/587: [rebar_require_vsn: Update regexp to account for newer OTP versions](https://github.com/rebar/rebar/pull/587)
* rebar/588: [Look for ct .spec files in the ct_dir that was specified](https://github.com/rebar/rebar/pull/588)
* rebar/589: [Introduce REBAR_DEPS_PREFER_LIBS env variable to alter search behaviour](https://github.com/rebar/rebar/pull/589)
* rebar/590: [Treat port env vars as expandable only if they self reference](https://github.com/rebar/rebar/pull/590)
* rebar/591: [Fix/eunit tests surefire crash](https://github.com/rebar/rebar/pull/591)
* rebar/594: [Introduce REBAR_VSN_CACHE_FILE env variable to load/save vsn cache](https://github.com/rebar/rebar/pull/594)
* rebar/599: [Fix bug when running gcc in cross_sizeof](https://github.com/rebar/rebar/pull/599)
* rebar/602: [Support full-source rebar3-style deps (deps without Version Regexes)](https://github.com/rebar/rebar/pull/602)
* rebar/603: [add deprecated message](https://github.com/rebar/rebar/pull/603)
* rebar/605: [Add necessary OSX flags for port driver linking](https://github.com/rebar/rebar/pull/605)
* rebar/606: [Revert 'Treat port env vars as expandable only if they self reference'](https://github.com/rebar/rebar/pull/606)

# 2.6.1

* rebar/514: [Add license to relnotes tool per reviewer request](https://github.com/rebar/rebar/pull/514)
* rebar/518: [Generate reserved file for erlc regression test](https://github.com/rebar/rebar/pull/518)
* rebar/520: [Fixed version of #451](https://github.com/rebar/rebar/pull/520)
* rebar/521: [rebar_utils: fix comment](https://github.com/rebar/rebar/pull/521)
* rebar/522: [Fixed version of #395](https://github.com/rebar/rebar/pull/522)
* rebar/524: [completion: add libid= to bash and zsh scripts](https://github.com/rebar/rebar/pull/524)
* rebar/530: [Allow behaviors defined inside xref_extra_path](https://github.com/rebar/rebar/pull/530)
* rebar/535: [Add regression test for covered common test](https://github.com/rebar/rebar/pull/535)
* rebar/537: [Fix eunit test on OTP18](https://github.com/rebar/rebar/pull/537)
* rebar/538: [Fix #536](https://github.com/rebar/rebar/pull/538)
* rebar/539: [Add erl_first_files in eunit_first_files and qc_first_files](https://github.com/rebar/rebar/pull/539)
* rebar/540: [Complete port compiler help string](https://github.com/rebar/rebar/pull/540)
* rebar/543: [rmemo: use a better R13 check (Reported-by: Stavros Aronis)](https://github.com/rebar/rebar/pull/543)
* rebar/545: [Fix #544](https://github.com/rebar/rebar/pull/545)
* rebar/546: [Added report and verbose options for LFE compile.](https://github.com/rebar/rebar/pull/546)

# 2.6.0

* rebar/203: [Pluggable proto compilers gpb](https://github.com/rebar/rebar/pull/203)
9 THANKS
@@ -142,3 +142,12 @@ Derek Brown
Danil Onishchenko
Stavros Aronis
James Fish
Tony Rogvall
Andrey Teplyashin
Duncan McGreggor
Sebastien Serre
John Daily
Yury Gargay
Frank Hunleth
Matwey Kornilov
Julius Andrikonis
@@ -0,0 +1,24 @@
version: 2.6.1.{build}
clone_depth: 1
build_script:
- cmd: >-
bootstrap.bat
set REBAR_EXTRA_DEPS=1
.\rebar get-deps
copy rebar deps\retest
copy rebar.cmd deps\retest
cd deps\retest & .\rebar compile escriptize
test_script:
- cmd: >-
rebar eunit
"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x64
cd deps\retest & retest -l debug -t 120000 ..\..\inttest
artifacts:
- path: rebar
@@ -24,7 +24,10 @@ main(Args) ->
true ->
rm("ebin/*.beam");
false ->
rm("ebin/rebar.beam")
case filelib:is_file("ebin/rebar.beam") of
true -> rm("ebin/rebar.beam");
false -> io:fwrite("No beam files found.~n")
end
end,

%% Add check for debug flag
@@ -3,7 +3,7 @@

{application, rebar,
[{description, "Rebar: Erlang Build Tool"},
{vsn, "2.6.0"},
{vsn, "2.6.4"},
{modules, [ rebar,
rebar_abnfc_compiler,
rebar_app_utils,
@@ -46,7 +46,8 @@
rebar_metacmds,
rebar_getopt,
rebar_mustache,
rmemo ]},
rmemo,
rebar_rand_compat ]},
{registered, []},
{applications,
[
@@ -68,6 +69,9 @@
%% Default log level
{log_level, warn},

%% Log colored
{log_colored, uncolored},

%% any_dir processing modules
{any_dir_modules, [
rebar_require_vsn,
@@ -1,6 +1,6 @@
-module(app_src).

-compile(export_all).
-export([test/0]).

test() ->
ok.
@@ -26,13 +26,18 @@
%% -------------------------------------------------------------------
-module(app_src_rt).

-compile(export_all).
-export([setup/1, files/0, run/1]).

-include_lib("eunit/include/eunit.hrl").

setup([Target]) ->
retest_utils:load_module(filename:join(Target, "inttest_utils.erl")),
ok.

files() ->
[{copy, "../../rebar", "rebar"},
{create, "src/app_src.app.src", app(app_src)}].
[
{create, "src/app_src.app.src", app(app_src)}
] ++ inttest_utils:rebar_setup().

run(Dir) ->
retest_log:log(debug, "Running in Dir: ~s~n", [Dir]),
@@ -1,6 +1,6 @@
-module(app_src_script).

-compile(export_all).
-export([test/0]).

test() ->
ok.
@@ -26,13 +26,18 @@
%% -------------------------------------------------------------------
-module(app_src_script_rt).

-compile(export_all).
-export([setup/1, files/0, run/1]).

-include_lib("eunit/include/eunit.hrl").

setup([Target]) ->
retest_utils:load_module(filename:join(Target, "inttest_utils.erl")),
ok.

files() ->
[{copy, "../../rebar", "rebar"},
{create, "src/app_src_script.app.src.script", app_script(app_src_script)}].
[
{create, "src/app_src_script.app.src.script", app_script(app_src_script)}
] ++ inttest_utils:rebar_setup().

run(Dir) ->
retest_log:log(debug, "Running in Dir: ~s~n", [Dir]),
@@ -1,6 +1,6 @@
-module(app_src_script_2).

-compile(export_all).
-export([test/0]).

test() ->
ok.
@@ -26,14 +26,19 @@
%% -------------------------------------------------------------------
-module(app_src_script_2_rt).

-compile(export_all).
-export([setup/1, files/0, run/1]).

-include_lib("eunit/include/eunit.hrl").

setup([Target]) ->
retest_utils:load_module(filename:join(Target, "inttest_utils.erl")),
ok.

files() ->
[{copy, "../../rebar", "rebar"},
[
{create, "src/app_src_script_2.app.src.script", app_script(app_src_script_2)},
{create, "src/app_src_script_2.app.src", app(app_src_script_2)}].
{create, "src/app_src_script_2.app.src", app(app_src_script_2)}
] ++ inttest_utils:rebar_setup().

run(Dir) ->
retest_log:log(debug, "Running in Dir: ~s~n", [Dir]),
@@ -26,13 +26,18 @@
%% -------------------------------------------------------------------
-module(appup_src_rt).

-compile(export_all).
-export([setup/1, files/0, run/1]).

-include_lib("eunit/include/eunit.hrl").

setup([Target]) ->
retest_utils:load_module(filename:join(Target, "inttest_utils.erl")),
ok.

files() ->
[{copy, "../../rebar", "rebar"},
{copy, "src", "src"}].
[
{copy, "src", "src"}
] ++ inttest_utils:rebar_setup().

run(Dir) ->
retest_log:log(debug, "Running in Dir: ~s~n", [Dir]),
@@ -1,6 +1,6 @@
-module(appup_src).

-compile(export_all).
-export([test/0]).

test() ->
ok.
@@ -26,13 +26,18 @@
%% -------------------------------------------------------------------
-module(appup_src_2_rt).

-compile(export_all).
-export([setup/1, files/0, run/1]).

-include_lib("eunit/include/eunit.hrl").

setup([Target]) ->
retest_utils:load_module(filename:join(Target, "inttest_utils.erl")),
ok.

files() ->
[{copy, "../../rebar", "rebar"},
{copy, "src", "src"}].
[
{copy, "src", "src"}
] ++ inttest_utils:rebar_setup().

run(Dir) ->
retest_log:log(debug, "Running in Dir: ~s~n", [Dir]),
@@ -26,13 +26,17 @@
%% -------------------------------------------------------------------
-module(appup_src_rt_2).

-compile(export_all).
-export([setup/1, files/0, run/1]).

-include_lib("eunit/include/eunit.hrl").

setup([Target]) ->
retest_utils:load_module(filename:join(Target, "inttest_utils.erl")),
ok.

files() ->
[{copy, "../../rebar", "rebar"},
{copy, "src", "src"}].
[{copy, "src", "src"}