Merge branch 'git-hook-feature' into 'dev'
Git hook feature See merge request sa4-2020/the-sanmarinoes/backend!3
This commit is contained in:
commit
e859d85451
6 changed files with 57 additions and 9 deletions
14
git-hooks/format.sh
Executable file
14
git-hooks/format.sh
Executable file
|
@ -0,0 +1,14 @@
|
||||||
|
#!/bin/sh -e
|
||||||
|
jar_version=1.6
|
||||||
|
jar_dir="$HOME/.local/share/java"
|
||||||
|
jar_file="$jar_dir/google-java-format-$jar_version-all-deps.jar"
|
||||||
|
java_cmd="java"
|
||||||
|
|
||||||
|
# download jar file if missing
|
||||||
|
if [ ! -f "$jar_file" ]; then
|
||||||
|
mkdir -p "$jar_dir"
|
||||||
|
wget -O "$jar_file" https://github.com/google/google-java-format/releases/download/google-java-format-$jar_version/google-java-format-$jar_version-all-deps.jar
|
||||||
|
fi
|
||||||
|
|
||||||
|
# execute formatter
|
||||||
|
$java_cmd -jar "$jar_file" $@
|
18
git-hooks/pre-commit.sh
Executable file
18
git-hooks/pre-commit.sh
Executable file
|
@ -0,0 +1,18 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
echo "Java formatter running..."
|
||||||
|
|
||||||
|
format_cmd="$(dirname $(realpath "$0"))/format.sh"
|
||||||
|
|
||||||
|
# skip if NO_VERIFY env var set
|
||||||
|
if [ "$NO_VERIFY" ]; then
|
||||||
|
echo 'google-java-format skipped' 1>&2
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
# list all added/copied/modified/renamed java files
|
||||||
|
git diff --staged --name-only --diff-filter=ACMR | egrep -a '.java$' | tr "\n" "\0" |
|
||||||
|
# run google-java-format on each file and re-stage any new changes
|
||||||
|
xargs -0 -I % echo "$format_cmd --aosp -i '%'; git add -f '%'" | sh
|
19
git-hooks/setup.sh
Executable file
19
git-hooks/setup.sh
Executable file
|
@ -0,0 +1,19 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
if ! git remote get-url origin | grep "lab.si.usi.ch" >/dev/null 2>/dev/null; then
|
||||||
|
echo "Not in the project!"
|
||||||
|
echo "Call this script while in the root directory of the backend project";
|
||||||
|
exit 1;
|
||||||
|
elif ! [ -d "./git-hooks" ]; then
|
||||||
|
echo "Not in the right directory!"
|
||||||
|
echo "Call this script while in the root directory of the backend project";
|
||||||
|
exit 1;
|
||||||
|
fi;
|
||||||
|
|
||||||
|
git config --unset core.hooksPath
|
||||||
|
|
||||||
|
this_dir="$(dirname $(realpath "$0"))"
|
||||||
|
hook_script="$this_dir/pre-commit.sh"
|
||||||
|
ln -svf "$hook_script" "$this_dir/../.git/hooks/pre-commit"
|
||||||
|
|
||||||
|
echo "Commit hook installed"
|
|
@ -6,8 +6,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||||
@SpringBootApplication
|
@SpringBootApplication
|
||||||
public class SmarthutApplication {
|
public class SmarthutApplication {
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
SpringApplication.run(SmarthutApplication.class, args);
|
SpringApplication.run(SmarthutApplication.class, args);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,8 +6,6 @@ import org.springframework.boot.test.context.SpringBootTest;
|
||||||
@SpringBootTest
|
@SpringBootTest
|
||||||
class SmarthutApplicationTests {
|
class SmarthutApplicationTests {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void contextLoads() {
|
void contextLoads() {}
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue