Contribution guidelines
I'm really glad you are seeing this and are considering contributing to the development of the Negotiator. We welcome any pull requests that help us grow as open-source software!
Development Environment
Our core developers use the IntelliJ IDEA and UNIX based Operating systems. and can therefore be more helpful in debugging any potential problems in your local development environment. For a collection of Postman HTTP requests used to interact with the REST API please contact the development team at negotiator@helpdesk.bbmri-eric.eu.
Known problems
WSL
The current development environment setup is problematic with the WSL. Make sure your networking configuration is properly adjusted, especially when using an OIDC provider or a UI client.
Code style
For maintaining a uniform code style through the code base, please adhere to the Google Java Style. To enforce this, we have set up a GitHub action that checks the code style of any modified files using the fmt-maven-plugin. You can also set up an IntelliJ IDEA plugin google-java-format.
Commit messages
Please follow the Conventional Commits specification.
Versioning
For versioning of releases and tags please follow Semantic Versioning.
Submitting changes
Please send us a GitHub Pull Request with a clear description. We have also provided a template with a checklist to help you with providing a high-quality contribution.
Releasing
To create a release, simply go to Releases -> Draft a new release -> Choose new tag -> Generate release notes -> Publish release
Good luck and thank you! 🙇🏻♂️