This project uses the Git flow workflow and semantic versioning for the versioning.
- Open an issue to detail what you would like to add/modify/fix in the project.
- Fork the repository.
- In case it is a fix, create a new hotfix branch and in case of a new feature create a new feature branch.
- Implement the code changes in the branch of your fork.
- Create a pull request. The pull request will be accepted if and only if the coding conventions are properly followed.
The project follows a standard for coding.
The code is formatted according to the Google Java Style Guide and the build will fail if the code is not properly formatted.
The project is configured to use Maven PMD plugin for static analysis. It is currently running with the default rules. When rule violations are found, the PMD plugin fails the build.
Your code has to be fully tested and keep the 100% of line and branch coverage.
This section shows how to create a feature or a hotfix for being conformed to the Git flow workflow.
Feature branch must reflect Github issue number and have meaningful name.
mvn jgitflow:feature-start
git add new_file1 new_file2 ...
git commit -a
git push origin feature/name
Ensure your local develop branch is up to date.
git checkout develop
git pull origin develop
To avoid conflicts during finishing feature branch, ensure that all changes from develop are merged to the feature branch.
git checkout feature/name
git pull origin develop
git status
Resolve all conflicts (if any) and commit changes.
`` git commit -a -m "Conflicts resolved"`
Finish the feature.
mvn jgitflow:feature-finish
### Hotfix
### Create new hotfix branch
Hotfix branch must reflect Github issue number and have meaningful name.
```mvn jgitflow:hotfix-start```
### Work on hotfix branch
git add new_file1 new_file2 ... git commit -a git push origin hotfix/name
### Finish hotfix branch
Ensure your local develop branch is up to date.
git checkout develop git pull origin develop
To avoid conflicts during finishing hotfix branch, ensure that all changes from develop are merged
to the hotfix branch.
git checkout hotfix/name git pull origin develop git status
Resolve all conflicts (if any) and commit changes.
``
git commit -a -m "Conflicts resolved"`
Finish the feature.
mvn jgitflow:hotfix-finish