Skip to content

Commit 365c236

Browse files
committed
docs: update build instructions to use asdf for tool management
- Add asdf prerequisites and installation steps to README.md - Document development workflow with asdf in CONTRIBUTING.md - Replace JDK 8 requirement with asdf-managed versions - Include verification commands for tool installation - Add step-by-step development workflow for contributors This aligns documentation with the new asdf-based CI/CD workflows and provides clear setup instructions for new contributors.
1 parent f8eac9c commit 365c236

File tree

2 files changed

+67
-7
lines changed

2 files changed

+67
-7
lines changed

CONTRIBUTING.md

Lines changed: 48 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,32 @@
11
# Contributing
22

33
This project welcomes contributions and suggestions.
4-
When you submit a pull request, we have checks which run on your PR for standards that we expect .
4+
When you submit a pull request, we have checks which run on your PR for standards that we expect.
5+
6+
## Prerequisites
7+
8+
Before contributing, ensure you have the following installed:
9+
10+
1. **asdf** - Tool version manager
11+
- Installation guide: https://asdf-vm.com/guide/getting-started.html
12+
- Install required plugins:
13+
```bash
14+
asdf plugin add java
15+
asdf plugin add gradle
16+
```
17+
18+
2. **Install project tools**
19+
- Navigate to the project directory and run:
20+
```bash
21+
asdf install
22+
```
23+
- This will install the Java and Gradle versions specified in `.tool-versions`
24+
25+
3. **Verify installation**
26+
```bash
27+
java -version
28+
gradle -version
29+
```
530

631
## Code of Conduct
732

@@ -37,6 +62,28 @@ Check out the links below to get started.
3762
- Be prepared to discuss a feature and take feedback.
3863
- Include unit tests and updates documentation to complement the change.
3964
65+
### Development workflow
66+
67+
1. **Set up your environment**
68+
```bash
69+
asdf install # Install Java and Gradle from .tool-versions
70+
```
71+
72+
2. **Run quality checks locally**
73+
```bash
74+
./gradlew clean build pitest shadowJar
75+
```
76+
This runs all quality gates including tests, PMD, CPD, Checkstyle, code coverage, and mutation testing.
77+
78+
3. **Make your changes**
79+
- Follow the existing code style and conventions
80+
- Ensure all quality checks pass before submitting a PR
81+
82+
4. **Submit a pull request**
83+
- Target the `main` branch
84+
- Ensure CI workflows pass on your PR
85+
- Address any review feedback promptly
86+
4087
[learn-git]: https://help.github.com/en/articles/git-and-github-learning-resources
4188
[github-flow]: https://guides.github.com/introduction/flow/
4289
[github-signup]: https://github.com/signup/free

README.md

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,27 @@ We asked ourselves the same question! Why create a new tool when there were many
2323

2424
## How to use Ceberus?
2525
### Build Cerberus from source
26-
To build Cerberus, you will need a JDK 8 installed in your system.
27-
The final output of build is an executable JAR. We have created gradle tasks to achieve the same, review our build.gradle file for more details.
26+
Cerberus uses [asdf](https://asdf-vm.com/) for managing Java and Gradle versions. The required tool versions are specified in the `.tool-versions` file.
2827

28+
**Prerequisites:**
29+
- Install [asdf](https://asdf-vm.com/guide/getting-started.html)
30+
- Install asdf plugins: `asdf plugin add java` and `asdf plugin add gradle`
31+
32+
**Build Steps:**
2933
1. Clone the repository
30-
`git clone https://github.com/philips-software/cerberus.git`
31-
2. Build it using the following command
32-
`./gradlew clean build shadowJar`
33-
The executable jar will be generated in the build/libs folder.
34+
```bash
35+
git clone https://github.com/philips-software/cerberus.git
36+
cd cerberus
37+
```
38+
2. Install tools from .tool-versions
39+
```bash
40+
asdf install
41+
```
42+
3. Build the executable JAR
43+
```bash
44+
./gradlew clean build shadowJar
45+
```
46+
The executable jar will be generated in the build/libs folder.
3447

3548
### Run Cerberus as a command line tool
3649
Once the jar gets generated, use the jar to run Cerberus

0 commit comments

Comments
 (0)