[ {elvis, [ {config, [ #{ dirs => ["apps/*/src"], filter => "*.erl", ignore => ["_thrift.erl$"], rules => [ {elvis_style, line_length, #{limit => 120, skip_comments => false}}, {elvis_style, no_tabs}, {elvis_style, no_trailing_whitespace}, {elvis_style, macro_module_names}, {elvis_style, operator_spaces, #{rules => [{right, ","}, {right, "++"}, {left, "++"}]}}, {elvis_style, nesting_level, #{level => 3}}, {elvis_style, god_modules, #{limit => 30, ignore => [hg_client_party]}}, {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)?$"}}, {elvis_style, function_naming_convention, #{regex => "^([a-z][a-z0-9]*_?)*$"}}, {elvis_style, state_record_and_type}, {elvis_style, no_spec_with_records}, {elvis_style, dont_repeat_yourself, #{min_complexity => 15}}, {elvis_style, no_debug_call, #{ignore => [elvis, elvis_utils]}} ] }, #{ dirs => ["apps/*/test"], filter => "*.erl", rules => [ {elvis_style, line_length, #{limit => 120, skip_comments => false}}, {elvis_style, no_tabs}, {elvis_style, no_trailing_whitespace}, {elvis_style, macro_module_names}, {elvis_style, operator_spaces, #{rules => [{right, ","}, {right, "++"}, {left, "++"}]}}, {elvis_style, nesting_level, #{level => 3}}, {elvis_style, no_if_expression}, {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, no_spec_with_records}, {elvis_style, dont_repeat_yourself, #{min_complexity => 30}} ] }, #{ dirs => ["."], filter => "Makefile", ruleset => makefiles }, #{ dirs => ["."], filter => "elvis.config", ruleset => elvis_config }, #{ dirs => ["apps", "apps/*"], filter => "rebar.config", rules => [ {elvis_style, line_length, #{limit => 120, skip_comments => false}}, {elvis_style, no_tabs}, {elvis_style, no_trailing_whitespace} ] }, #{ dirs => ["."], filter => "rebar.config", rules => [ {elvis_style, line_length, #{limit => 120, skip_comments => false}}, {elvis_style, no_tabs}, {elvis_style, no_trailing_whitespace} ] }, #{ dirs => ["apps/*/src"], filter => "*.app.src", rules => [ {elvis_style, line_length, #{limit => 120, skip_comments => false}}, {elvis_style, no_tabs}, {elvis_style, no_trailing_whitespace} ] } ]} ]} ].