define explicit job dependencies
[yosql.git] / CONTRIBUTING.md
blob5fbabef1dd58791727ba03583a49eccfc5866159
1 # Contributor Guide
3 Thanks a lot for contributing to `YoSQL`!
5 ## Local Setup
7 In order to build `YoSQL`, you will need Java 15+ and Maven 3.6.3+. Make sure that both are installed on your system and available on your `PATH`.
9 ```shell
10 # check java
11 $ java -version
12 openjdk version "15.0.2" 2021-01-19
13 OpenJDK Runtime Environment (build 15.0.2+7-27)
14 OpenJDK 64-Bit Server VM (build 15.0.2+7-27, mixed mode, sharing)
16 # check javac
17 $ javac -version
18 javac 15.0.2
20 # check maven version
21 $ mvn --version
22 Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
23 Maven home: /usr/share/maven
24 Java version: 15.0.2, vendor: Oracle Corporation, runtime: /usr/java/openjdk-15
25 Default locale: en, platform encoding: UTF-8
26 OS name: "linux", version: "5.10.15-200.fc33.x86_64", arch: "amd64", family: "unix"
27 ```
29 ## Building the project
31 In order to build the project use the typical Maven goals, e.g.:
33 ```shell
34 # build all modules and run all tests
35 $ mvn verify
36 ```
38 **Note**: Each pull request will be build by GitHub and call `mvn verify`. In case you want to reproduce errors locally, run that first and fix any errors that show up.
40 ## Creating forks or feature branches
42 In case you want to contribute code, either fork the repository if you are not yet an active contributor or create a git branch for every feature or bugfix you are working on. You can open up a pull request as early as you like, we recommend doing it right after creating your fork and adding a "WIP" prefix to your pull request. You can directly ping contributors with specific questions about existing code and how to implement your idea in the best way possible.
44 Since `YoSQL` will not have a plugin system by design, we are trying to make contributor changes to the project as easy as possible. In case you encounter any errors, e.g. while building the project, don't hesitate to open a ticket in order to get that fixed first.