It supports all that was already in .travis.yml and tests.yml, plus:
- exclude paths that don't affect source code
- two very distinct scenarios, ancient a recent (OTP, Rebar, Ubuntu)
- cache binaries and dialyzer for small speedup and network usage
- separated results, to view comfortably where and what failed
- use coveralls example rebar3 code, instead of custom rebar2
- upload binaries.zip that can be used with Binary Installers
Reported in #3527. Add hostname matching function, and specify SNI
Also, OTP 23 dropped backwards compatibility for 0, 1, 2 values for verify, so
replace with combination of verify_none/verify_peer and fail_if_no_peer_cert
as appropriate
rebar3 needs sql directory as a src dir so that tests can reference sql
files, so sql dir was added to extra_src_dirs in d9c1befb. It turns out
extra_src_dirs does unexpected unwanted extra things like copy all beam
files there too, so move sql dir to regular src_dirs
erlang-sqlite3 versions got messed up, causing ejabberd build to regress
to 1.1.6 from Jan 2018 when using rebar3 which fails to build with OTP23.
Update to correctly tagged version 1.1.9, which also has matching hex.pm
package, fixes this.
Correct Makefile clean targets
Fix a few more include() -> include_lib() for depedency includes
Use project_app_dirs to reference elixir app from rebar3 (lib_dirs is
no longer supported)
This adds support for building, and installing, ejabberd using rebar3
A --with-rebar=/path/to/rebar3 option is added to configure to specify
which rebar to use
rebar2 compatibility is maintained, and the bundled rebar2 is still
used by default
* rebar3 plugin to support configure-deps command
To allow running configure on dependencies prior to compilation, add a
rebar3 plugin to support the 'configure-deps' command introduced for
rebar2 in a7639fd4
* Fix compatibility with OTP < 23
binary_to_atom/1 is new to OTP 23
Add list of dependencies that should only be built from git, to support
building with rebar3 where deps do not have hex packages (or where the
package versions do not directly map to git tags).
This is required for elixir and luerl deps.