1
0
mirror of https://github.com/ACINQ/eclair.git synced 2024-11-19 18:10:42 +01:00
eclair/BUILD.md

77 lines
2.2 KiB
Markdown
Raw Normal View History

2017-03-17 19:07:29 +01:00
# Building Eclair
## Requirements
- [OpenJDK 11](https://adoptopenjdk.net/?variant=openjdk11&jvmVariant=hotspot).
- [Maven](https://maven.apache.org/download.cgi) 3.6.0 or newer
- [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
## Build
Eclair is packaged as a compressed archive with a launcher script. The archives are built deterministically
so it's possible to reproduce the build and verify its equality byte-by-byte. To build the exact same artifacts
that we release, you must use the build environment (OS, JDK, maven...) that we specify in our release notes.
To build the project and run the tests, simply run:
2017-03-17 19:07:29 +01:00
```shell
mvn package
2017-03-17 19:07:29 +01:00
```
Notes:
- This command will build all modules (core, node, gui).
- If the build fails, you may need to clean previously built artifacts with the `mvn clean` command.
- Some of the tests use [Docker](https://www.docker.com/), so make sure your docker daemon is running.
- Archives can be found in the `target` folder for each module.
### Skip tests
Running tests takes time. If you want to skip them, use `-DskipTests`:
```shell
mvn package -DskipTests
```
### Run tests
To only run the tests, run:
```shell
mvn test
```
To run tests for a specific class, run:
```shell
mvn test -Dsuites=*<TestClassName>
2017-03-17 19:07:29 +01:00
```
### Build specific module
To only build the `eclair-node` module, run:
```shell
mvn package -pl eclair-node -am -Dmaven.test.skip=true
```
To install `eclair-core` into your local maven repository and use it in another project, run:
```shell
mvn clean install -pl eclair-core -am -Dmaven.test.skip=true
```
## Build the API documentation
### Slate
The API doc is generated via slate and hosted on github pages. To make a change and update the doc follow the steps:
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)