This doc is intended for contributors to sdk-java
(hopefully that's you!)
Note: All contributors also need to fill out the Temporal Contributor License Agreement before we can merge in any of your changes
- Java 11+
- Docker to run Temporal Server
./gradlew clean build
This project is Open Source Software, and requires a header at the beginning of all source files. To verify that all files contain the header execute:
./gradlew licenseCheck
To generate licence headers execute
./gradlew licenseFormat
Code autoformatting is applied automatically during a full gradle build. Build the project before submitting a PR.
Code is formatted using spotless
plugin with google-java-format
tool.
Overcommit adds some requirements to your commit messages. We follow the Chris Beams guide to writing git commit messages. Read it, follow it, learn it, love it.
Testing and building sdk-java
requires running temporal docker locally, execute:
curl -O https://raw.githubusercontent.com/temporalio/temporal/master/docker/docker-compose.yml
docker-compose up
(If this does not work, see instructions for running the Temporal Server at https://github.com/temporalio/temporal/blob/master/README.md.)
Then run all the tests with:
./gradlew test
Build with:
./gradlew build