jesse/rebar.config
2020-03-07 16:20:22 +01:00

108 lines
4.5 KiB
Erlang

%%-*- mode: erlang -*-
{erl_opts, [ {platform_define, "^R[0-9]+", erlang_deprecated_types}
%% , warn_export_all
, warn_export_vars
, warn_obsolete_guard
, warn_shadow_vars
, warn_untyped_record
, warn_unused_function
, warn_unused_import
, warnings_as_errors
, warn_unused_record
, warn_unused_vars
]}.
{edoc_opts, [{preprocess, true}]}.
{cover_enabled, true}.
{xref_checks, [ fail_on_warning
, undefined_function_calls
, deprecated_function_calls
]}.
{ deps
, [ {jsx, "2.9.0"}
, {rfc3339, "0.2.2"}
]}.
{ profiles
, [{ test
, [{ plugins
, [rebar3_lint]}]
}]
}.
{escript_name, jesse}.
{escript_emu_args, "%%! -noinput\n"}.
{ elvis
, [#{ dirs => ["src", "test"]
, filter => "*.erl"
, rules => [ {elvis_style, line_length, #{ limit => 80
, skip_comments => false
}}
, {elvis_style, no_tabs}
, {elvis_style, no_trailing_whitespace}
, {elvis_style, macro_names}
, {elvis_style, macro_module_names}
, {elvis_style, operator_spaces, #{rules => [ {right, ","}
, {right, "++"}
, {left, "++"}
]}}
, {elvis_style, nesting_level, #{level => 4}} % see https://github.com/inaka/elvis/issues/361
, {elvis_style, god_modules, #{limit => 25}}
, {elvis_style, no_if_expression}
, {elvis_style, invalid_dynamic_call, #{ ignore => [elvis]
}}
, {elvis_style, used_ignored_variable}
, {elvis_style, no_behavior_info}
, { elvis_style
, module_naming_convention
, #{ regex => "^([a-z][a-z0-9]*_?)*(_SUITE)?$"
, ignore => []
}
}
%% , { elvis_style
%% , function_naming_convention
%% , #{ regex => "^([a-z][a-z0-9]*_?)*(_SUITE)?$"
%% , ignore => []
%% }
%% }
, { elvis_style
, variable_naming_convention
, #{ regex => "^(_?[A-Z][0-9a-zA-Z_]*)$" % "^([A-Z][0-9a-zA-Z]*)$" FIXME
, ignore => []
}
}
, {elvis_style, state_record_and_type}
, {elvis_style, no_spec_with_records}
, {elvis_style, dont_repeat_yourself, #{ min_complexity => 250 % 10 FIXME
}}
, {elvis_style, max_module_length, #{ max_length => 1500
, ignore => []
, count_comments => true
, count_whitespace => false
}}
, {elvis_style, max_function_length, #{ max_length => 250
, count_comments => true
, count_whitespace => false
}}
, {elvis_style, no_debug_call, #{ debug_functions => [ {ct, pal}
, {io, format, 1}
, {io, format, 2}
]
, ignore => [jesse_tests_util]
}}
]
}
, #{ dirs => ["."]
, filter => "Makefile"
, rules => [ {elvis_project, no_deps_master_erlang_mk, #{ignore => []}}
]
}
, #{ dirs => ["."]
, filter => "rebar.config"
, rules => [ {elvis_project, no_deps_master_rebar, #{ignore => []}}
]
}
]
}.