Thanks for being interested in the Spring HATEOAS Siren library! This guide helps to find the most efficient way to report issues, ask questions and contribute to the project.
Please review our code of conduct.
Please review our support section.
If you think something is missing or certain use cases could be supported better, let us know! You can do so by opening a discussion on the discussion forum. Provide as much relevant context to why and when the feature would be helpful. Providing context is especially important for "Support XYZ" issues since we might not be familiar with what "XYZ" is and why it's useful. If you have an idea of how to implement the feature, include that as well.
We welcome Pull Requests but creating and reviewing Pull Requests take considerable time. This section helps you set up for a smooth Pull Request experience.
It's a great idea to discuss the new feature you're considering on the discussion forum before writing any code. There are often different ways you can implement a feature. Getting some discussion about different options helps shape the best solution.
When starting directly with a Pull Request, there is the risk of having to make considerable changes. Sometimes that is the best approach, though! Showing an idea with code can be very helpful; but be aware that it might be throw-away work.
You will receive feedback from us on your pull request, but please keep in mind that it may take a moment for us to get back to you as this is a side project that is handled entirely in our little spare time.
The Spring HATEOAS Siren codebase is Java based. Therefore you can use any IDE that allows you to implement code in Java. We prefer to use the Eclipse based Spring Tool Suite though.
Note that we build on Java 8, so a Java 8 JDK is required. If you don't have a JDK, you can for example use sdkman.
Regarding code conventions you find additional information in the "etc/ide" folder of this project. There are also some Maven plugins integrated into the build process that check some of the conventions during every build.
Pushing to a branch automatically kicks off a build. The build will be linked in the Pull Request, and under the CI action on GitHub.