2017-03-17 19:07:29 +01:00
# Building Eclair
## Requirements
2019-07-31 13:35:26 +00:00
- [OpenJDK 11 ](https://adoptopenjdk.net/?variant=openjdk11&jvmVariant=hotspot ).
2019-03-25 14:42:06 +01:00
- [Maven ](https://maven.apache.org/download.cgi ) 3.6.0 or newer
2018-09-03 18:03:40 +02:00
- [Docker ](https://www.docker.com/ ) 18.03 or newer (optional) if you want to run all tests
2017-03-17 19:07:29 +01:00
2019-07-31 13:35:26 +00:00
:warning: You can also use [Oracle JDK 1.8 ](http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html ) to build and run eclair, but we recommend you use OpenJDK 11.
2019-02-21 15:11:44 +01:00
2017-03-17 19:07:29 +01:00
## Build
2019-07-31 13:35:26 +00:00
To build the project and run the tests, simply run:
2017-03-17 19:07:29 +01:00
```shell
2019-07-31 13:35:26 +00:00
mvn install
2017-03-17 19:07:29 +01:00
```
2018-09-03 18:03:40 +02:00
2019-07-31 13:35:26 +00:00
### Other build options
2018-09-03 18:03:40 +02:00
To skip all tests, run:
2019-07-31 13:35:26 +00:00
```shell
mvn install -DskipTests
```
To only build the `eclair-node` module, run:
2017-03-17 19:07:29 +01:00
```shell
2019-07-31 13:35:26 +00:00
mvn install -pl eclair-node -am -DskipTests
2017-12-01 13:56:01 +01:00
```
2019-07-31 13:35:26 +00:00
To run the tests, run:
```shell
mvn test
```
To run tests for a specific class, run:
2017-12-01 13:56:01 +01:00
```shell
2019-07-31 13:35:26 +00:00
mvn test -Dsuites=*< TestClassName >
2017-03-17 19:07:29 +01:00
```
2019-02-21 15:11:44 +01:00
2019-07-31 13:35:26 +00:00
## Build the API documentation
2019-03-26 18:10:09 +01:00
2019-07-31 13:35:26 +00:00
### Slate
2019-03-26 18:10:09 +01:00
The API doc is generated via slate and hosted on github pages. To make a change and update the doc follow the steps:
2019-07-31 13:35:26 +00:00
1. `git checkout slate-doc`
2. Install your local dependencies for slate, more info [here ](https://github.com/lord/slate#getting-started-with-slate )
3. Edit `source/index.html.md` and save your changes.
4. Commit all the changes to git, before deploying the repo should be clean.
5. Push your commit to remote.
6. Run `./deploy.sh`
7. Wait a few minutes and the doc should be updated at [https://acinq.github.io/eclair ](https://acinq.github.io/eclair )