Gradle plugin for easy git hooks configuration.
Add the plugin into your build.gradle, configure the hooks, and optionally configure the build task to be dependant
initGitHooks task, to install the hooks each time the project is rebuild.
The example with pre-commit and pre-push hooks configured, will look like this:
plugins {
id 'io.github.pepperkit.git-hooks-gradle-plugin' version '1.0.0'
}
compileJava {
// Initialize git hooks each time the project is compiled
dependsOn initGitHooks
}
gitHooksGradlePlugin {
hooks = [
// Run checkstyle plugin before each commit attempt
'pre-commit' : 'gradle -q checkstyleMain',
// Run unit tests before each push attempt
'pre-push' : 'gradle -q test'
]
}Hook's content is any command line script, which is considered successful if exit code is equal to 0, and not otherwise.
If execution of the script is successful, git action will be proceeded, if not - it will be cancelled.
└── src
├── main # code of the plugin
├── test # unit tests
└── system-test # system tests
└── resources # system tests scenarios and pre-configured gradle files needed for the tests
More about pepperkit projects could be found on its website: https://pepperkit.github.io/