An open API service indexing awesome lists of open source software.

https://github.com/inaka/elvis.mk

3rd party erlang.mk plug-in for Elvis
https://github.com/inaka/elvis.mk

elvis erlang hacktoberfest plugin

Last synced: 3 months ago
JSON representation

3rd party erlang.mk plug-in for Elvis

Awesome Lists containing this project

README

          

# elvis.mk
3rd party erlang.mk plug-in for Elvis

## Contact Us
If you find any **bugs** or have a **problem** while using this library, please
[open an issue](https://github.com/inaka/elvis.mk/issues/new) in this repo
(or a pull request :)).

And you can check all of our open-source projects at [inaka.github.io](http://inaka.github.io).

## Usage

In order to include this plugin in your project you just need to add the
following in your Makefile:

```make
BUILD_DEPS = elvis_mk

dep_elvis_mk = git https://github.com/inaka/elvis.mk.git 1.1.2

DEP_PLUGINS = elvis_mk
```
## Extra config

- `ELVIS_VERSION` - the Elvis version to build and use
- defaults to `1.1.0`
- the version must be a tag in the [Elvis repo](https://github.com/inaka/elvis)
- that Elvis version must compile with the installed Erlang / OTP
- don't forget to do `make distclean-elvis` after changing the version
- `ELVIS_REBAR3` - path to the Rebar3 executable to build Elvis with
- defaults to `rebar3`
- if this command is not found Rebar 3 will be downloaded from `ELVIS_REBAR3_URL`
- `ELVIS_REBAR3_URL`
- defaults to `https://s3.amazonaws.com/rebar3/rebar3`

For even more extras use the force, [read the source](plugins.mk).

## Help

Run `make help` in order to check what targets are available for
`elvis.mk`.

## Example

For example you can run `make elvis`:

```make
Loading files...
Loading src/your_module.erl
Applying rules...
# src/your_module.erl [FAIL]
- operator_spaces
- Missing space after "," on line 27
Loading files...
Loading Makefile
Applying rules...
# Makefile [OK]
Loading files...
Loading elvis.config
Applying rules...
# elvis.config [OK]
make: *** [elvis] Error 1
```

## Versioning

This `erlang.mk` plugin is part of the Elvis ecosystem. For details on versioning and guidance on
migrating between major versions when breaking changes occur, refer to the
[`elvis_core` `README`](https://github.com/inaka/elvis_core/blob/main/README.md#versioning).