| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
| |
By doing this, we fix two issues at once. First, there's no need to have
crypto available anymore. While not having crypto in your Erlang
installation is a questionable packaging decision, it tends to happen in
the wild with users installing Erlang and missing crypto. Sometimes this
is not due to a distro's package but users building Erlang without the
needed OpenSSL dependencies. Second, this resolves the Erlang 20 rng
deprecation warnings.
|
|
|
|
|
|
|
|
| |
In order for rebar to work with previous and current OTP releases, we
generate the rebar_rnd module on startup. rebar_rnd is generated
dynamically to make sure that we use the right random module (either
rand if available or else random). It only wraps the common subset of
the API, but that's sufficient for rebar's use.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* fix commit messages
* fix whitespace issues
* move internal helper functions to correct location
* unexport internal cross arch helper functions
* fix 18.0 time API compatibility
* fix Windows temp dir detection
* use correct helper function name
* use sh/2 instead of os:cmd/1
* match file:delete/1 result
* use logging macros
* fix typo
* fix Dialyzer warnings
* add Tony Rogvall to THANKS
* add missing termination clause
* os type must be win32, not windows
* match file:write_file/2 result
* document cross-arch variables
* simplify env_wordsize/1 (Thanks Fred Hebert)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
{dialyzer,
[
%% Store PLT in ~/.rebar/plt (Default)
{plt_location, shared},
%% Store PLT locally inside the project in .rebar
{plt_location, local},
%% Store PLT in custom directory
{plt_location, "custom_dir"},
%% Extra apps to include in the PLT
{plt_extra_apps, [app1, app2]},
{warnings, [unmatched_returns, error_handling]}
]}.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Build project-specific PLT
$ rebar build-plt
Check the PLT for consistency and rebuild it if it is not up-to-date
$ rebar check-plt
Analyze the code for discrepancies
$ rebar dialyze
Delete project-specific PLT
$ rebar delete-plt
Valid rebar.config options:
%% Store PLT in ~/.rebar/plt (Default)
{dialyzer_plt_location,shared}
%% Store PLT locally inside the project in .rebar
{dialyzer_plt_location,local}
%% Store PLT in custom directory
{dialyzer_plt_location,"custom_path"}
{dialyzer_plt_extra_apps,[app1,app2]}
{dialyzer_warnings,[unmatched_returns,error_handling]}
|
|
|
|
|
|
|
|
|
|
|
|
| |
For protocol buffer files, when there were gpb options to alter the
module name with prefix or suffix, recompilation was not properly
detected. This is now fixed. (Issue #384).
Use the rebar_base_compiler's ability to specify both source and
target file names, to be able to also support prefixes.
This also introduces a call to gpb_compile:format_error, so the xref
recipe needs to be updated to ignore it, to avoid false errors.
|
|\
| |
| | |
Pluggable proto compilers gpb
|
| |
| |
| |
| |
| |
| | |
This adds the config option {proto_compiler,gpb} for selecting gpb
as the compiler for protocol buffer files. When gpb is used as
compiler, it reads the gpb_opts config item for options.
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
When -p/--profile is enabled, you can select the profiler as follows:
generate flame graph (eflame.svg) from trace (eflame.trace)
$ rebar -p compile profiler=eflame
generate fprof.analysis
$ rebar -p compile
generate fprof.analysis
$ rebar -p compile profiler=fprof
|
| |
|
|
|
|
|
| |
rebar's beam files are actually compiled by bootstrap's call to
make:files/2, so warnings_as_errors in rebar.config isn't really used.
|
|
|
|
|
| |
* fix overlong lines
* where appropriate use %% instead of %
|
|
|
|
| |
We use namespaced_types option to choose between dict() and dict:dict() types.
|
|
|
|
|
| |
app_bin option was used by the install command which has been
removed in 51ed787.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
eunit_test:function_wrapper/2 was renamed to eunit:mf_wrapper/2 in
R15B02. Ignore both calls like we do with escript:foldl/3.
|
|
|
|
|
|
|
|
| |
1. manually insert directory entries to work around issues fixed in
R15B02 erl_prim_loader
2. put the escript archive's beams in appname/appname/ebin
Tested with R13B03 and R15B01.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Rebar has support for optional compilers built-in. These compilers might
not be installed causing xref to return errors for the undefined external
function calls query. The updated filter list will catch this error and
act as a nop if they are installed.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The custom queries are configured in rebar.config via the tuple
{xref_queries, [{query(), query_result()},...]}. The implementation
passes the query() string to xref:q and compares the return value with
query_result(). It will result in an error if they do not match.
The following configuration, for example, is the same as running the
xref check undefined_function_calls. It additionally filters
ejabberd_logger:*_msg/4 from the result as these functions are generated
on execution by ejabberd and not available at compile time.
{xref_queries, [{"(XC - UC) || (XU - X - B -
(\"ejabberd_logger\":\".*_msg\"/\"4\"))",[]}]}.
This patch also modifies the build process of this package by running a
custom query instead of doing a diff against a static xref_warning file.
|
| |
|
| |
|
|
|
|
|
| |
Add no_debug_info option.
Remove debug_info=1 option.
|
| |
|
| |
|
|
to the OTP bin dir.
|