Skip to content

Commit b8a6f34

Browse files
committed
Add CONTRIBUTING.md
1 parent 06c5e86 commit b8a6f34

File tree

2 files changed

+24
-10
lines changed

2 files changed

+24
-10
lines changed

CONTRIBUTING.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# Contributing
2+
In general pull requests and support for open issues is always welcome!
3+
4+
## Project layout
5+
This project is a multi-module Maven project. It consists of the following modules:
6+
- [core](core) (`git-commit-id-plugin-core`): The core framework of the plugin
7+
- [maven](maven) (`git-commit-id-plugin`): The actual plugin, which depends on the `core` module
8+
9+
To build the project:
10+
1. Install Maven
11+
2. Install a JDK meeting the minimum requirements specified by Maven and in the [README](README.md)
12+
3. Run the following command in the main directory of the project:
13+
```
14+
mvn clean verify
15+
```
16+
This will build the project and run all tests.
17+
18+
## Checkstyle
19+
If you open a pull request or want to help out in any way please keep in mind that we currently use Checkstyle to ensure that the project somehow maintains a uniform code base. Fortunately the most common IDEs support the integration of Checkstyle via plugins. On top of more or less native integration into modern development tools the Checkstyle rules are currently also being verified by using the [maven-checkstyle-plugin](https://maven.apache.org/plugins/maven-checkstyle-plugin/) during the build. It should be worth to highlight that you are not required to install Checkstyle inside your IDE. If you feel more comfortable running the checks via Maven this would do the trick!
20+
The Checkstyle rules for this project are currently residing in `.github/.checkstyle/` and for some IDEs those rules need to be imported manually (unfortunately there is no better solution available for this yet). The current rule set is pretty much the same as the `google_checks.xml` with certain checks disabled (e.g. line length). If you choose to integrate Checkstyle inside your IDE feel free to checkout some high level requirements to get started with Checkstyle within your IDE:
21+
* Eclipse – for Eclipse / STS you would need to install the `Checkstyle Plug-in` via `Help -> Eclipse Marketplace -> Search` after restarting Eclipse it should pick-up the rules automatically.
22+
* IntelliJ IDEA – for IntelliJ you would need to install the `CheckStyle-IDEA` plugin via `File -> Settings -> Plugins -> Search`. After restarting IntelliJ you would need to import the Checkstyle rules manually via `File -> Settings -> Checkstyle`. As Checkstyle version you may choose `8.2` and then click on the plus-sign on the right. As description you may choose `maven-git-commit-id-plugin` and as local Checkstyle file you may choose one of the Checkstyle rules residing in `.github/.checkstyle/`. Please note that the rule-file depends on the version you have selected in the previous step and thus it is essential to ensure that the version numbers match up. As next step you unfortunately will be prompted to enter the **full directory** of the `checkstyle-suppressions.xml`-file.
23+
* NetBeans – feel free to open an issue and share your installation guide :-)
24+
* Maven – if you want to run Checkstyle via Maven you simply can execute `mvn clean verify -Pcheckstyle -Dmaven.test.skip=true -B`.

maven/docs/faq.md

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -37,13 +37,3 @@ Generated properties are not being used in install and/or deploy
3737
If you try to use generated properties like `${git.commit.id}` alongside with your artifact finalName you will soon notice that those properties are not being used in install and/or deploy. This specific behaviour is basically not intended / not supported by maven-install-plugin and/or maven-deploy-plugin (https://issues.apache.org/jira/browse/MINSTALL-1 / https://issues.apache.org/jira/browse/MDEPLOY-93). The naming format in the remote repo seems to be always `$artifactId-$version-$classifier` *by default* and thus any generated property will not end up inside the artifact being installed/deployed. If you for whatever reason still want to have something special you may want to [checkout a full workaround](https://github.com/git-commit-id/maven-git-commit-id-plugin/issues/256#issuecomment-321476196) that uses a specific configuration of `install-file` / `deploy-file`.
3838

3939
As a general note also ensure to use `mvn clean deploy` instead of `mvn deploy:deploy` (or you run into https://issues.apache.org/jira/browse/MNG-6260) and ensure to set `<injectAllReactorProjects>true</injectAllReactorProjects>` inside the plugin's config.
40-
41-
How to contribute to the project
42-
-------------------------------
43-
In general pull requests and support for open issues is always welcome!
44-
If you open a pull request or want to help out in any way please keep in mind that we currently use Checkstyle to ensure that the project somehow maintains a uniform code base. Fortunately the most common IDEs support the integration of Checkstyle via plugins. On top of more or less native integration into modern development tools the Checkstyle rules are currently also being verified by using the [maven-checkstyle-plugin](https://maven.apache.org/plugins/maven-checkstyle-plugin/) during the build. It should be worth to highlight that you are not required to install Checkstyle inside your IDE. If you feel more comfortable running the checks via Maven this would do the trick!
45-
The Checkstyle rules for this project are currently residing in `.github/.checkstyle/` and for some IDEs those rules need to be imported manually (unfortunately there is no better solution available for this yet). The current rule set is pretty much the same as the `google_checks.xml` with certain checks disabled (e.g. line length). If you choose to integrate Checkstyle inside your IDE feel free to checkout some high level requirements to get started with Checkstyle within your IDE:
46-
* Eclipse – for Eclipse / STS you would need to install the `Checkstyle Plug-in` via `Help -> Eclipse Marketplace -> Search` after restarting Eclipse it should pick-up the rules automatically.
47-
* IntelliJ IDEA – for IntelliJ you would need to install the `CheckStyle-IDEA` plugin via `File -> Settings -> Plugins -> Search`. After restarting IntelliJ you would need to import the Checkstyle rules manually via `File -> Settings -> Checkstyle`. As Checkstyle version you may choose `8.2` and then click on the plus-sign on the right. As description you may choose `maven-git-commit-id-plugin` and as local Checkstyle file you may choose one of the Checkstyle rules residing in `.github/.checkstyle/`. Please note that the rule-file depends on the version you have selected in the previous step and thus it is essential to ensure that the version numbers match up. As next step you unfortunately will be prompted to enter the **full directory** of the `checkstyle-suppressions.xml`-file.
48-
* NetBeans – feel free to open an issue and share your installation guide :-)
49-
* Maven – if you want to run Checkstyle via Maven you simply can execute `mvn clean verify -Pcheckstyle -Dmaven.test.skip=true -B`.

0 commit comments

Comments
 (0)