summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorGeorge Fraser <george@fivetran.com>2018-09-19 09:23:07 -0700
committerGeorge Fraser <george@fivetran.com>2018-09-19 09:23:07 -0700
commit374bb349fd3b6a9f4814d4108c21376c8f2f6576 (patch)
tree09378b6d497b900b5f3b6b06374bbdb821cb433d /scripts
parent634d71e0f09ce4795e50967a275c5e86ddfc7d76 (diff)
downloadjava-language-server-374bb349fd3b6a9f4814d4108c21376c8f2f6576.zip
jlink script
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/link.sh33
1 files changed, 33 insertions, 0 deletions
diff --git a/scripts/link.sh b/scripts/link.sh
new file mode 100755
index 0000000..972da7d
--- /dev/null
+++ b/scripts/link.sh
@@ -0,0 +1,33 @@
+#!/bin/bash
+# Work-in-progress!
+# This script tries to link everything into a self-contained executable using jlink.
+# It doesn't yet work because our dependencies aren't modularized
+
+set -e
+
+# Needed once
+npm install
+
+# Build jar
+mvn package -DskipTests
+# Copy dependencies
+rm -rf target/deps
+mvn dependency:copy-dependencies -DincludeScope=runtime -DoutputDirectory=target/deps
+# Copy class files
+mkdir -p target/mods
+mv target/classes target/mods/javacs
+# Build using jlink
+jlink \
+ --module-path target/mods:target/deps \
+ --add-modules javacs \
+ --launcher javacs=javacs/org.javacs.Main \
+ --output dist \
+ --strip-debug \
+ --compress 2 \
+ --no-header-files \
+ --no-man-pages
+
+# Build vsix
+vsce package -o build.vsix
+
+echo 'Install build.vsix using the extensions menu'