@@ -27,11 +27,11 @@ In order to get the project up and running, there is a few steps you need to tak
1. Install [IntelliJ IDEA Professional](https://www.jetbrains.com/idea/) which is free for students.
1. Clone the project into your local directory (`git clone <LINK_TO_GIT_REPOSITORY>`).
1. Import the project into IntelliJ using the `build.gradle.kts` file. Instructions can be found [here](https://www.jetbrains.com/help/idea/gradle.html#). Please note that we use the Kotlin version of Gradle, however, the steps remain exactly the same.
1. Make sure that you are running [JDK 11](https://jdk.java.net/archive/), otherwise, IntelliJ won't run the project. Instructions on how to set this up can be found [here](https://www.jetbrains.com/help/idea/sdk.html#).
1. Make sure that you are running [JDK 17](https://jdk.java.net/archive/) or a newer version, to avoid any unexpected behaviour in IntelliJ. Instructions on how to set this up can be found [here](https://www.jetbrains.com/help/idea/sdk.html#).
1. Setup the application context.
1. Copy the contents of the `application.template.yaml` file into a new file named `application.yaml`. This file is ignored by git and so any changes you make to it will not be pushed to remote.
1. For development purposes, set the `labrador.sso.type` property to `in_memory` (for testing SAML Login, this property needs to be set to `saml` and `saml.sso.key-manager.store-pass` and `saml.sso.key-manager.key-passwords.1` need to be provided with the correct password).
1. You need to provide data to all the `spring.mail` properties with the `{{<PROPERTY>}}` format. If you do not need mailing, this data can be bogus but if you want to contribute to a feature requires mailing, you need to provide it with valid credentials.
1. You need to provide data to all the `spring.mail` properties which currently have the `{{<PROPERTY>}}` format. If you do not need mailing, this data can be bogus, but if you want to contribute to a feature that requires mailing, you need to provide it with valid credentials. In any case, make sure you remove the curly braces from said properties.
1. Make sure the `spring.profiles.active` property is set to `dev`.
1. Repeat the previous steps for the LabraCORE project (the `spring.profiles.active` needs to be set to `development`). You need to have both projects open in order to be able to run Submit.
1. To run the application:
...
...
@@ -96,6 +96,6 @@ There are a few things we'd like to ask you to do, to keep the project as organi
* Log changes under the `[UNRELEASED]` tag.
* Make sure to put it under the correct category (`added` / `changed` / `fixed`).
***Make sure the code is properly formatted.** You can check you formatting by running `./gradlew spotlessCheck` and have it automatically formatted by running `./gradlew spotlessApply`.
***Test you code.** Make sure you test all the code you write. We try to keep the test coverage as high as possible. To run the tests with gradle, you can run `./gradlew test` and to generate the reports, you can run `./gradlew jacocoTestReport` or `./gradlew jacocoTestCoverageVerification`.
***Test your code.** Make sure you test all the code you write. We try to keep the test coverage as high as possible. To run the tests with gradle, you can run `./gradlew test` and to generate the reports, you can run `./gradlew jacocoTestReport` or `./gradlew jacocoTestCoverageVerification`.
***Ensure your GitLab CI passes.** Your MR will not be able to merge if the pipelines on your MR don't pass. To check everything locally, run `./gradlew clean` followed by `./gradlew build`. Sometimes, one of the jobs in the CI doesn't pass due to a timeout - this might have been cause by a high load on the GitLab builders, so simply rerunning that job will often fix the issue.
***Write detailed issue and MR descriptions.** There are templates created for both issues and merge requests which you can fill in to keep your description as clear and informative as possible.