1
0
mirror of https://github.com/mgechev/revive.git synced 2024-11-30 08:57:07 +02:00
revive/DEVELOPING.md

55 lines
1.1 KiB
Markdown
Raw Normal View History

2018-06-02 19:14:21 +02:00
# Developer's Guide
This document explains how to build, test, and develop features for revive.
## Installation
2022-10-04 10:26:40 +02:00
Clone the project:
2018-06-02 19:14:21 +02:00
2022-10-04 10:26:40 +02:00
```
git clone git@github.com:mgechev/revive.git
cd revive
2018-06-02 19:14:21 +02:00
```
2022-10-04 10:26:40 +02:00
In order to fetch all the dependencies run:
2018-06-02 19:14:21 +02:00
```bash
make install
```
## Build
In order to build the project run:
```bash
make build
```
The command will produce the `revive` binary in the root of the project.
## Development of rules
If you want to develop a new rule, follow as an example the already existing rules in the [rule package](https://github.com/mgechev/revive/tree/master/rule).
All rules should implement the following interface:
```go
type Rule interface {
Name() string
Apply(*File, Arguments) []Failure
}
```
## Development of formatters
If you want to develop a new formatter, follow as an example the already existing formatters in the [formatter package](https://github.com/mgechev/revive/tree/master/formatter).
All formatters should implement the following interface:
```go
type Formatter interface {
Format(<-chan Failure, RulesConfig) (string, error)
Name() string
}
```