-
Notifications
You must be signed in to change notification settings - Fork 19
/
Copy pathrebar.config
129 lines (119 loc) · 3.31 KB
/
rebar.config
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
{erl_opts, [
debug_info,
warn_unused_vars,
warnings_as_errors,
warn_export_all,
warn_shadow_vars,
warn_unused_import,
warn_unused_function,
warn_bif_clash,
warn_unused_record,
warn_deprecated_function,
warn_obsolete_guard,
strict_validation,
warn_export_vars,
warn_exported_vars,
warn_untyped_record,
warn_missing_spec,
warn_missing_doc
]}.
{deps, [
{prometheus, "~> 4.2"},
{prometheus_httpd, "~> 2.1"}
]}.
{shell, [{apps, [prometheus_cowboy]}]}.
{xref_extra_paths, []}.
{xref_checks, [
undefined_function_calls,
undefined_functions,
locals_not_used,
deprecated_function_calls,
deprecated_functions
]}.
{dialyzer, [
{warnings, [no_return, error_handling, unknown]},
{plt_extra_apps, [prometheus, cowboy, cowlib, ranch]}
]}.
{profiles, [
{test, [
{erl_opts, [nowarn_missing_spec, nowarn_missing_doc, nowarn_export_all]},
{covertool, [{coverdata_files, ["eunit.coverdata", "ct.coverdata"]}]},
{cover_enabled, true},
{cover_export_enabled, true}
]},
{cowboy1, [
{ct_opts, [{dir, "./test/cowboy1"}]},
{deps, [{cowboy, "~> 1.0"}, {ranch, "~> 1.0"}]}
]},
{cowboy2, [
{ct_opts, [{dir, "./test/cowboy2"}]},
{deps, [{cowboy, "~> 2.0"}, {ranch, "~> 2.0"}]},
{overrides, [{override, cowboy, [{deps, [{cowlib, "~> 2.0"}]}]}]}
]},
{benchmark, [
{src_dirs, ["src", "benchmark"]},
{deps, [
{'erlang-color',
{git, "https://github.com/julianduque/erlang-color", {branch, "master"}}}
]}
]}
]}.
{project_plugins, [
{rebar3_hex, "~> 7.0.8"},
{rebar3_lint, "~> 3.2.6"},
{rebar3_ex_doc, "~> 0.2.25"},
{erlfmt, "~> 1.6.0"},
{covertool, "~> 2.0.7"}
]}.
{hex, [{doc, #{provider => ex_doc}}]}.
{ex_doc, [
{source_url, <<"https://github.com/prometheus-erl/prometheus_cowboy">>},
{main, <<"readme">>},
{extras, [
{'README.md', #{title => <<"Overview">>}},
{'LICENSE', #{title => <<"License">>}}
]}
]}.
{erlfmt, [
write,
{files, [
"include/**/*.{hrl,erl,app.src}",
"src/**/*.{hrl,erl,app.src}",
"test/**/*.{hrl,erl,app.src}",
"rebar.config"
]}
]}.
{elvis, [
#{
dirs => ["src"],
filter => "*.erl",
rules => [
{elvis_text_style, line_length, #{limit => 100, skip_comments => false}},
{elvis_style, invalid_dynamic_call, #{
ignore => [
prometheus_cowboy2_instrumenter
]
}},
{elvis_style, god_modules, #{limit => 25}}
],
ruleset => erl_files
},
#{
dirs => ["test/cowboy1", "test/cowboy2"],
filter => "*.erl",
rules => [
{elvis_text_style, line_length, #{limit => 100}},
{elvis_style, invalid_dynamic_call, #{ignore => []}},
{elvis_style, god_modules, #{limit => 40}},
%% looks like eunit generates underscored vars
{elvis_style, variable_naming_convention, #{regex => "^([A-Z_][0-9a-zA-Z_]*)$"}},
{elvis_style, dont_repeat_yourself, #{min_complexity => 200}}
],
ruleset => erl_files
},
#{
dirs => ["."],
filter => "rebar.config",
ruleset => rebar_config
}
]}.