2019-08-09 12:51:42 +00:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
|
2020-04-28 10:03:01 +00:00
|
|
|
set -eou pipefail
|
2019-08-15 07:02:43 +00:00
|
|
|
|
2020-01-09 10:28:11 +00:00
|
|
|
if [ -z "$BABASHKA_XMX" ]; then
|
2020-04-25 09:29:20 +00:00
|
|
|
export BABASHKA_XMX="-J-Xmx4500m"
|
2020-01-09 10:19:48 +00:00
|
|
|
fi
|
|
|
|
|
|
2020-03-30 18:29:08 +00:00
|
|
|
if [ -z "$GRAALVM_HOME" ]; then
|
|
|
|
|
echo "Please set GRAALVM_HOME"
|
|
|
|
|
exit 1
|
2020-03-29 14:07:30 +00:00
|
|
|
fi
|
|
|
|
|
|
2020-04-28 10:03:01 +00:00
|
|
|
BABASHKA_VERSION=$(cat resources/BABASHKA_VERSION)
|
|
|
|
|
|
|
|
|
|
BABASHKA_JAR=${BABASHKA_JAR:-"target/babashka-$BABASHKA_VERSION-standalone.jar"}
|
|
|
|
|
|
|
|
|
|
if [[ ! -f "$BABASHKA_JAR" ]]
|
|
|
|
|
then
|
|
|
|
|
echo "Please run script/uberjar first."
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
|
2020-03-30 18:29:08 +00:00
|
|
|
$GRAALVM_HOME/bin/gu install native-image
|
2020-01-09 10:11:12 +00:00
|
|
|
|
2019-08-09 12:51:42 +00:00
|
|
|
|
2020-01-09 10:11:12 +00:00
|
|
|
export JAVA_HOME=$GRAALVM_HOME
|
|
|
|
|
|
2020-04-18 16:10:32 +00:00
|
|
|
SVM_JAR=$(find "$GRAALVM_HOME" | grep svm.jar)
|
|
|
|
|
$GRAALVM_HOME/bin/javac -cp "$SVM_JAR" resources/CutOffCoreServicesDependencies.java
|
2020-03-06 15:55:52 +00:00
|
|
|
|
2020-04-26 11:10:30 +00:00
|
|
|
|
|
|
|
|
BABASHKA_LEIN_PROFILES=""
|
|
|
|
|
|
2020-04-28 10:03:01 +00:00
|
|
|
BABASHKA_FEATURE_HSQLDB=${BABASHKA_FEATURE_HSQLDB:-}
|
|
|
|
|
|
2020-04-26 11:10:30 +00:00
|
|
|
if [ "$BABASHKA_FEATURE_HSQLDB" = "true" ]
|
|
|
|
|
then
|
2020-04-28 10:03:01 +00:00
|
|
|
BABASHKA_LEIN_PROFILES+="+feature/hsqldb"
|
|
|
|
|
else
|
|
|
|
|
BABASHKA_LEIN_PROFILES+="-feature/hsqldb"
|
2020-04-26 11:10:30 +00:00
|
|
|
fi
|
|
|
|
|
|
2020-04-28 10:03:01 +00:00
|
|
|
BABASHKA_FEATURE_XML=${BABASHKA_FEATURE_XML:-}
|
|
|
|
|
|
|
|
|
|
if [ "$BABASHKA_FEATURE_XML" != "false" ]
|
|
|
|
|
then
|
|
|
|
|
BABASHKA_LEIN_PROFILES+=",+feature/xml"
|
|
|
|
|
else
|
|
|
|
|
BABASHKA_LEIN_PROFILES+=",-feature/xml"
|
2020-03-29 14:07:30 +00:00
|
|
|
fi
|
2019-12-22 08:40:12 +00:00
|
|
|
|
2020-03-30 18:29:08 +00:00
|
|
|
BABASHKA_BINARY=${BABASHKA_BINARY:-"bb"}
|
2020-03-29 14:07:30 +00:00
|
|
|
|
2020-03-30 18:29:08 +00:00
|
|
|
args=( -jar $BABASHKA_JAR \
|
|
|
|
|
-H:Name=$BABASHKA_BINARY \
|
2020-02-23 11:04:18 +00:00
|
|
|
-H:+ReportExceptionStackTraces \
|
|
|
|
|
-J-Dclojure.spec.skip-macros=true \
|
|
|
|
|
-J-Dclojure.compiler.direct-linking=true \
|
|
|
|
|
"-H:IncludeResources=BABASHKA_VERSION" \
|
|
|
|
|
"-H:IncludeResources=SCI_VERSION" \
|
|
|
|
|
-H:ReflectionConfigurationFiles=reflection.json \
|
|
|
|
|
--initialize-at-run-time=java.lang.Math\$RandomNumberGeneratorHolder \
|
|
|
|
|
--initialize-at-build-time \
|
|
|
|
|
-H:Log=registerResource: \
|
2020-04-16 18:57:59 +00:00
|
|
|
-H:EnableURLProtocols=http,https \
|
2020-02-23 11:04:18 +00:00
|
|
|
--enable-all-security-services \
|
|
|
|
|
-H:+JNI \
|
|
|
|
|
--verbose \
|
|
|
|
|
--no-fallback \
|
|
|
|
|
--no-server \
|
2020-03-06 15:55:52 +00:00
|
|
|
--report-unsupported-elements-at-runtime \
|
2020-04-24 13:08:26 +00:00
|
|
|
"--initialize-at-run-time=org.postgresql.sspi.SSPIClient" \
|
2020-02-23 11:04:18 +00:00
|
|
|
"$BABASHKA_XMX" )
|
|
|
|
|
|
2020-04-28 10:03:01 +00:00
|
|
|
BABASHKA_STATIC=${BABASHKA_STATIC:-}
|
|
|
|
|
|
2020-02-23 11:04:18 +00:00
|
|
|
if [ "$BABASHKA_STATIC" = "true" ]; then
|
|
|
|
|
args+=("--static")
|
|
|
|
|
fi
|
|
|
|
|
|
2020-04-26 11:10:30 +00:00
|
|
|
if [ "$BABASHKA_FEATURE_HSQLDB" = "true" ]; then
|
|
|
|
|
args+=("-H:IncludeResources=org/hsqldb/.*\.properties", "-H:IncludeResources=org/hsqldb/.*\.sql")
|
|
|
|
|
fi
|
|
|
|
|
|
2020-02-23 11:04:18 +00:00
|
|
|
$GRAALVM_HOME/bin/native-image "${args[@]}"
|