Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 6 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
erl_crash.dump
_*
/erl_crash.dump
_build/
doc/
rebar3.crashdump
.rebar3
/rebar3.crashdump
.rebar3/
logs
test/**/*.beam
test/logs/
_checkouts/

# Ignore elvis escript
elvis
23 changes: 18 additions & 5 deletions elvis.config
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,21 @@
filter => "*.erl",
rules =>
[
{elvis_style, invalid_dynamic_call, #{ignore => [elvis_core]}},
{elvis_style, invalid_dynamic_call, #{
ignore => [{elvis_core, rock_this, 2}, {elvis_core, apply_rule, 2}]
}},
{elvis_style, dont_repeat_yourself, #{min_complexity => 20}},
{elvis_style, no_debug_call, #{ignore => [elvis_result, elvis_utils]}},
{elvis_style, no_debug_call, #{
ignore => [{elvis_result, print_item, 4}, {elvis_utils, print, 2}]
}},
{elvis_style, god_modules, #{ignore => [elvis_style]}},
{elvis_style, no_throw, disable}
{elvis_style, no_throw, disable},
{elvis_style, max_function_length, disable},
{elvis_style, max_function_clause_length, disable},
{elvis_style, no_macros, disable},
{elvis_style, max_module_length, #{ignore => [elvis_style]}}
],
ruleset => erl_files
ruleset => erl_files_strict
},
#{
dirs => ["_build/default/lib/elvis_core/ebin"],
Expand All @@ -25,7 +33,7 @@
{elvis_style, god_modules, #{ignore => [elvis_style]}},
{elvis_style, no_throw, disable}
],
ruleset => beam_files
ruleset => beam_files_strict
},
#{
dirs => ["."],
Expand All @@ -36,6 +44,11 @@
dirs => ["."],
filter => "elvis.config",
ruleset => elvis_config
},
#{
dirs => ["."],
filter => ".gitignore",
ruleset => gitignore
}
]}
]}
Expand Down
4 changes: 2 additions & 2 deletions src/elvis_file.erl
Original file line number Diff line number Diff line change
Expand Up @@ -190,11 +190,11 @@ find_encoding(Content) ->
Ignore :: [elvis_style:ignorable()],
Res :: file().
maybe_add_abstract_parse_tree(
#{ruleset := beam_files},
#{ruleset := Ruleset},
#{path := Path} = File,
Mod,
Ignore
) ->
) when Ruleset =:= beam_files; Ruleset =:= beam_files_strict ->
AbstractParseTree = get_abstract_parse_tree(Path, Mod, Ignore),
File#{abstract_parse_tree => AbstractParseTree};
maybe_add_abstract_parse_tree(_Config, File, _Mod, _Ignore) ->
Expand Down
2 changes: 1 addition & 1 deletion src/elvis_gitignore.erl
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ forbidden_patterns(_Config, #{path := Path}, RuleConfig) ->

%% .gitignore
check_patterns_in_lines(_Lines, [], Results, _Mode) ->
{ok, Results};
Results;
check_patterns_in_lines(Lines, [Pattern | Rest], Results0, Mode) ->
ModeRespected =
case Mode of
Expand Down
7 changes: 4 additions & 3 deletions src/elvis_style.erl
Original file line number Diff line number Diff line change
Expand Up @@ -1044,9 +1044,10 @@ module_naming_convention(Config, Target, RuleConfig) ->
[Module] ->
ktn_code:attr(value, Module);
_ ->
% .hrl, maybe?
% .hrl, maybe? or .beam?
#{path := Path} = Target,
Basename = filename:basename(Path, ".hrl"),
Basename0 = filename:basename(Path, ".hrl"),
Basename = filename:basename(Basename0, ".beam"),
list_to_atom(Basename)
end,

Expand Down Expand Up @@ -2968,7 +2969,7 @@ maybe_default_option(UserDefinedOptionValue, _OptionName, _Rule) ->
get_root(Config, Target, RuleConfig) ->
{Root0, File0} = elvis_file:parse_tree(Config, Target, RuleConfig),
case maps:get(ruleset, Config, undefined) of
beam_files ->
Ruleset when Ruleset =:= beam_files; Ruleset =:= beam_files_strict ->
maps:get(abstract_parse_tree, File0);
_ ->
Root0
Expand Down
8 changes: 4 additions & 4 deletions test/gitignore_SUITE.erl
Original file line number Diff line number Diff line change
Expand Up @@ -40,11 +40,11 @@ verify_required_patterns(_Config) ->

PathPass = ".gitignore",
{ok, FilePass} = elvis_test_utils:find_file([SrcDirPass], PathPass),
{ok, []} = elvis_gitignore:required_patterns(GitIgnoreConfig, FilePass, NoRuleConfig),
[] = elvis_gitignore:required_patterns(GitIgnoreConfig, FilePass, NoRuleConfig),

PathFail = ".gitignore",
{ok, FileFail} = elvis_test_utils:find_file([SrcDirFail], PathFail),
{ok, [Res]} = elvis_gitignore:required_patterns(GitIgnoreConfig, FileFail, NoRuleConfig),
[Res] = elvis_gitignore:required_patterns(GitIgnoreConfig, FileFail, NoRuleConfig),
#{info := ["^doc/$"]} = Res.

-spec verify_forbidden_patterns(config()) -> any().
Expand All @@ -55,9 +55,9 @@ verify_forbidden_patterns(_Config) ->

PathPass = ".gitignore",
{ok, FilePass} = elvis_test_utils:find_file([SrcDirPass], PathPass),
{ok, []} = elvis_gitignore:forbidden_patterns(GitIgnoreConfig, FilePass, NoRuleConfig),
[] = elvis_gitignore:forbidden_patterns(GitIgnoreConfig, FilePass, NoRuleConfig),

PathFail = ".gitignore",
{ok, FileFail} = elvis_test_utils:find_file([SrcDirFail], PathFail),
{ok, [Res]} = elvis_gitignore:forbidden_patterns(GitIgnoreConfig, FileFail, NoRuleConfig),
[Res] = elvis_gitignore:forbidden_patterns(GitIgnoreConfig, FileFail, NoRuleConfig),
#{info := ["^rebar.lock$"]} = Res.