File: pre-push.sh

package info (click to toggle)
kotlin 1.3.31%2Bds1-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 109,524 kB
  • sloc: java: 454,753; xml: 18,599; javascript: 10,452; sh: 513; python: 97; makefile: 54; ansic: 4
file content (61 lines) | stat: -rw-r--r-- 1,333 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#!/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