We welcome ideas for improvements and pull requests. This document describes how to submit them.
We encourage using forks and pull requests. Please take a look at GitHub's excellent help documentation first.
We use GitHub issues to track bugs and enhancement.
Before you open a new issue, please do a bit of searching in our GitHub issues to see if you can find something similar. If not, please create a new issue before submitting a pull request.
If you are reporting a bug, please provide as much information as possible.
If you're considering anything more than correcting a typo or fixing a minor bug, please open an issue and discuss the proposal with us before submitting a pull request.
Due to legal reasons, contributors will be asked to accept a DCO before they submit the first pull request to this projects, this happens in an automated fashion during the submission process. SAP uses the standard DCO text of the Linux Foundation.
Please make sure you added unit tests for the changes you introduce. The more tests you add, the better.
Please search the codebase to find related unit tests and add additional @Test
methods within.
Please make sure all new classes and methods have Javadoc comments
with at least a short note which describes what the class or the method does.
Please make sure there is no Javadoc warnings by running mvn javadoc:javadoc
.
Please follow Google Java Style Guide.
Many of popular IDEs allow importing the ruleset.
To make sure that the code is formatted correctly, we run Maven Checkstyle plugin in the build pipeline.
You can run it with mvn checkstyle:check
.
Choose the granularity of your commits consciously and squash commits
that represent multiple edits or corrections of the same logical change.
See the Commit Guidelines section of Pro Git
for best practices around commit messages, and use git log
to see some examples.
- Keep the subject line short if possible.
- Please refer to the GitHub issue number in the description of the commit.
- Please do not end the subject line with a period.
Please make sure that the mvn clean package
command passes.
It's also going to run checkstyle
, please fix all reported issues.
Please also run the test suite for the demo tool.
The test suite is available in src/test/shell/tool/github
.
It's not yet included in the build process.
The instructions are available in the README file.
- Please explain the changes.
- Please add any additional information that you think is useful for reviewers.
- Please expect discussion and rework.