These instructions are for contributing code to the Masquerade library.
For external contributions and bug reports please use GitHub issues and pull-requests.
If you want to discuss your problem or ask something please use our forum: https://cuba-platform.com/discuss
Getting in touch with us early will also help us coordinate efforts so that not everyone ends up working on the same bug or feature at the same time.
You can easily build and install project using Gradle Wrapper:
./gradlew assemble install
If there are any errors during the compilation please check our public build status at https://travis-ci.org/cuba-platform/masquerade Do not hesitate to report us any problems with build!
We use IntelliJ Idea IDE for development. Just import the project as Gradle project.
We accept contributions as GitHub pull requests. The first time you create a pull request, you will be asked to electronically sign a contribution agreement.
https://yangsu.github.io/pull-request-tutorial/ has instructions on how to create a pull request.
Remember to check the "Allow edits from maintainers" so we can rebase the PR or make small changes if necessary.
Usually, we create an issue for the PR in our internal bug tracker (YouTrack) and add the issue number to the PR title.
- Source code files (Java, XML and Groovy) must have copyright notice with Apache 2.0 license.
- Use default IntelliJ Idea code formatting optioons. You can reformat your code (reformat changed code only!) using Ctrl+Alt+L shortcut.
- Maximum line length - 120 symbols.
- Recommended method length - up to 50 lines.
- All overridden methods should have @Override annotation.
- All feature branches must be named as “feature/some-feature-name”. Do not name your branch as issue number, branch name should describe the purpose of the branch.
- If you solve an existing problem that is described in one of the issues in issues please add issue number at the start of your commit message.
- Solve only one problem per patch.
- Describe your changes and user-visible impact: what did you change, why did you change it, how did you change it?
- Build project and run tests before submitting a patch.
- Create a pull request; it will then be reviewed by the platform team. Remember to check the "Allow edits from maintainers" so we can rebase the PR or make small changes if necessary.
- After you have submitted your change, be patient and wait. Reviewers are busy people and may not get to your patch right away. Ideally, we try to get a response within one business day.
- Respond to review comments: review comments are meant to improve the quality of the code by pointing out defects or readability issues.
- Most PRs take a few iterations of review before they are merged.
We are looking forward to getting your contributions!