summarylogtreecommitdiffstats
path: root/snpEff.sh
blob: 0767c363c6466d97db79544ee0656c06940211e9 (plain)
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
#!/usr/bin/sh
# Find a suitable Java runtime (requires Java >= 21)
if [ -n "$JAVA_HOME" ] && [ -x "$JAVA_HOME/bin/java" ]; then
    JAVA_EXEC="$JAVA_HOME/bin/java"
else
    JAVA_EXEC="/usr/bin/java"
    # If the default java is not >= 21, try to find one under /usr/lib/jvm/
    if [ -x "$JAVA_EXEC" ]; then
        DEFAULT_VER=$("$JAVA_EXEC" -version 2>&1 | awk -F '"' '/version/ {print $2}' | cut -d. -f1)
        if [ -z "$DEFAULT_VER" ] || [ "$DEFAULT_VER" -lt 21 ]; then
            for jvm in /usr/lib/jvm/java-*-openjdk /usr/lib/jvm/java-*; do
                if [ -x "$jvm/bin/java" ]; then
                    JVM_VER=$(basename "$jvm" | sed -E 's/java-([0-9]+)-.*/\1/')
                    case "$JVM_VER" in
                        [0-9]*)
                            if [ "$JVM_VER" -ge 21 ]; then
                                JAVA_EXEC="$jvm/bin/java"
                                break
                            fi
                            ;;
                    esac
                fi
            done
        fi
    fi
fi

exec "$JAVA_EXEC" -jar '/usr/share/java/snpEff/snpEff.jar' "${@}"