Getting error in using "make elvis"
MongooseIM version: 6.3 Installed from: source Erlang/OTP version: erlang 25
Detailed logs are attached. elvis.log
./rebar3 as lint lint
compiling with FIPS mode enabled
===> No entry for profile lint in config.
===> Verifying dependencies...
===> /Users/jaspreet.chhabra/Documents/mongooseim-3/asn1/XmppAddr.asn1
===> Analyzing applications...
===> Compiling mongooseim
===> Uncaught error in rebar_core. Run with DIAGNOSTIC=1 to see stacktrace or consult rebar3.crashdump
===> When submitting a bug report, please include the output of `rebar3 report "your command"`
make: *** [elvis] Error 1
Hi,
It's caused by some dependencies, like prometheus_cowboy, referencing rebar3_elvis_plugin which hasn't been maintained for 8 years and also includes a module (elvis_config) that collides with elvis_core plugin used by MongooseIM.
There's no 5-minute fix for it I guess. Either we would need to use a different plugin, or ask the deps' maintainers to update, or somehow blacklist these plugins. Ultimately, you may still use pure elvis tool, without the intermediate call to the rebar3.
Unfortunately the tool hasn't been in use in the CI for a long time - it complains a lot about the current code. However, the bundled config file is probably outdated too.