* Skip some plugins when skipping tests * Add instruction in BUILD.md to install eclair-core to repo * Reorganize BUILD.md with subsections
2.3 KiB
Building Eclair
Requirements
- OpenJDK 11.
- Maven 3.6.0 or newer
- Docker 18.03 or newer (optional) if you want to run all tests
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:
mvn package
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, 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
:
mvn package -DskipTests
You can even skip the tests compilation with maven.test.skip
:
mvn package -Dmaven.test.skip=true
Run tests
To only run the tests, run:
mvn test
To run tests for a specific class, run:
mvn test -Dsuites=*<TestClassName>
Build specific module
To only build the eclair-node
module, run:
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:
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:
git checkout slate-doc
- Install your local dependencies for slate, more info here
- Edit
source/index.html.md
and save your changes. - Commit all the changes to git, before deploying the repo should be clean.
- Push your commit to remote.
- Run
./deploy.sh
- Wait a few minutes and the doc should be updated at https://acinq.github.io/eclair