[ {elvis, [ {config, [ #{ dirs => ["apps/*/**"], filter => "*.erl", ignore => ["apps/pm_proto/(src|include)/dmsl_.*_thrift\.(e|h)rl"], rules => [ {elvis_text_style, line_length, #{limit => 120, skip_comments => false}}, {elvis_text_style, no_tabs}, {elvis_text_style, no_trailing_whitespace}, {elvis_style, macro_module_names}, {elvis_style, operator_spaces, #{rules => [{right, ","}, {right, "++"}, {left, "++"}]}}, {elvis_style, nesting_level, #{level => 4}}, {elvis_style, god_modules, #{ limit => 30, ignore => [ pm_party_tests_SUITE, pm_client_party ] }}, {elvis_style, no_if_expression}, {elvis_style, invalid_dynamic_call, #{ignore => [pm_proto_utils, pm_party]}}, {elvis_style, used_ignored_variable}, {elvis_style, no_behavior_info}, {elvis_style, module_naming_convention, #{regex => "^[a-z]([a-z0-9]*_?)*(_SUITE)?$"}}, {elvis_style, function_naming_convention, #{regex => "^[a-z]([a-z0-9]*_?)*$"}}, {elvis_style, state_record_and_type, #{ignore => []}}, {elvis_style, no_spec_with_records}, {elvis_style, dont_repeat_yourself, #{ min_complexity => 30 }}, {elvis_style, no_debug_call, #{}} ] }, #{ dirs => ["."], filter => "Makefile", ruleset => makefiles }, #{ dirs => ["."], filter => "elvis.config", ruleset => elvis_config }, #{ dirs => [".", "apps/*/*"], filter => "rebar.config", rules => [ {elvis_text_style, line_length, #{limit => 120, skip_comments => false}}, {elvis_text_style, no_tabs}, {elvis_text_style, no_trailing_whitespace} ] }, #{ dirs => ["apps/**"], filter => "*.app.src", rules => [ {elvis_text_style, line_length, #{limit => 120, skip_comments => false}}, {elvis_text_style, no_tabs}, {elvis_text_style, no_trailing_whitespace} ] } ]} ]} ].