diff --git a/README.md b/README.md index d6fa1f347..76b8e7443 100644 --- a/README.md +++ b/README.md @@ -108,6 +108,14 @@ Build the app: ./gradlew installDebug ``` +## Git Hooks + +You can add the git hook running the following bash script: + +```bash +./tools/git-hooks/init.sh +``` + ## How to Deploy 1. Generate a new signing key diff --git a/tools/git-hooks/init.sh b/tools/git-hooks/init.sh new file mode 100755 index 000000000..b6452533f --- /dev/null +++ b/tools/git-hooks/init.sh @@ -0,0 +1,13 @@ +#!/usr/bin/env bash + +set -e + +function setup_git_hooks() +{ + echo "Initialising git hooks..." + ln -sf "$PWD/tools/git-hooks/pre-commit.sh" "$PWD/.git/hooks/pre-commit" + chmod +x "$PWD/.git/hooks/pre-commit" + echo "Done" +} + +setup_git_hooks \ No newline at end of file diff --git a/tools/git-hooks/pre-commit.sh b/tools/git-hooks/pre-commit.sh new file mode 100755 index 000000000..c913761ba --- /dev/null +++ b/tools/git-hooks/pre-commit.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +GREEN='\033[0;32m' +NO_COLOR='\033[0m' + +echo "*********************************************************" +echo "Running git pre-commit hook. Running Static analysis... " +echo "*********************************************************" + +./gradlew ktlintCheck + +status=$? + +if [ "$status" = 0 ] ; then + echo "Static analysis found no problems." + exit 0 +else + echo "*********************************************************" + echo 1>&2 "Static analysis found violations it could not fix." + printf "Run ${GREEN}./gradlew ktlintFormat${NO_COLOR} to fix formatting related issues...\n" + echo "*********************************************************" + exit 1 +fi