Skip to content

Latest commit

 

History

History
56 lines (34 loc) · 2.53 KB

CONTRIBUTING.md

File metadata and controls

56 lines (34 loc) · 2.53 KB

Hi reader!

If you ended here then you probably want to contribute to this project: thanks for that!

In order to have your contribution more easily integrated please respect the following rules:

Reporting an issue

This project uses GitHub issues to manage the issues. Open an issue directly in GitHub. Use the provided issue template when submitting a new issue and as much as possible provide a reproducible example.

Building master

Building the project is as simple as:

git clone git@github.com:jgitver/jgitver-maven-plugin.git
cd jgitver-maven-plugin
./mvnw package

Contribution rules

  1. contributions are provided by pull-request only (no email, or anything else)
  2. before submitting your pull-request you have successfully run a local build using the following command
    • mvn -Prun-its clean install
  3. if your contribution consist in some code modification then your change is covered by a unit or integration test
    • for documentation only contribution, this requirement can be omitted)
  4. you have kept several commits in your PR only if those commits are relevant ; for typos commits or like please squash them.

IDE Config and Code Style

jgitver has a strictly enforced code style using google-java-format. Code formatting is checked during the build phase by the spotless-maven-plugin.

If you want to run the formatting without doing a full build, you can run mvn spotless:apply.

Eclipse Setup

Follow instructions from google-java-format site.

The eclipse plugin is outdated and uses the old 1.6 version of google-java-format (see also google-java-format#331).
You can manually apply the styling by running: mvn spotless:apply

Intellij Setup

Follow instructions from google-java-format site.

Integration warning

As we want to keep the project clean, every commit in any branch (expect master & maintenance branches) can be rewritten.

From the last sentence we give 2 advices:

  • initiate your PR from a branch in your fork and not from the master. When your PR will be integrated, it can be modified & adapted leading your fork with a master branch that as diverged from upstream
  • do not initiate work in your fork from a PR that could be rewritten