61 lines
1.3 KiB
Bash
61 lines
1.3 KiB
Bash
#!/bin/sh
|
|
|
|
targetRepo="$2"
|
|
|
|
remoteRefs=""
|
|
|
|
javacPath="$JAVA_HOME/bin/javac"
|
|
javaPath="$JAVA_HOME/bin/java"
|
|
|
|
if [ -f "~/.kotlin-deactivate-prepush-hook" ]; then
|
|
echo "Pre-commit hook is deactivated"
|
|
exit 0
|
|
fi
|
|
|
|
if [ ! -f "./libraries/tools/kotlin-prepush-hook/src/KotlinPrePushHook.java" ]; then
|
|
echo "Pre-commit hook .java file was not found in current branch, pre-push hook is disabled"
|
|
exit 0
|
|
fi
|
|
|
|
if [ ! -f "$javaPath" ]; then
|
|
echo "'java' ($javaPath) was not found, pre-push hook is disabled"
|
|
exit 0
|
|
fi
|
|
|
|
if [ ! -f "$javacPath" ]; then
|
|
echo "'javac' ($javacPath) was not found, pre-push hook is disabled"
|
|
exit 0
|
|
fi
|
|
|
|
while read localRef localSha remoteRef remoteSha
|
|
do
|
|
# Looks like there're no [[ in Ubuntu by default
|
|
if [ "$remoteRef" = "refs/heads/rr/"* ]; then
|
|
continue
|
|
fi
|
|
|
|
if [ "$remoteRef" = "refs/heads/rrr/"* ]; then
|
|
continue
|
|
fi
|
|
|
|
if [ -z $remoteRefs ]; then
|
|
remoteRefs="$remoteRef"
|
|
else
|
|
remoteRefs="$remoteRefs,$remoteRef"
|
|
fi
|
|
done
|
|
|
|
if [ -z "$remoteRefs" ]; then
|
|
exit 0
|
|
fi
|
|
|
|
mkdir -p ./build/prePushHook
|
|
"$javacPath" -d ./build/prePushHook ./libraries/tools/kotlin-prepush-hook/src/KotlinPrePushHook.java
|
|
cd ./build/prePushHook
|
|
|
|
"$javaPath" KotlinPrePushHook "$remoteRefs" "$targetRepo"
|
|
returnCode=$?
|
|
|
|
cd ../..
|
|
|
|
exit $returnCode |