101 lines
4 KiB
Diff
101 lines
4 KiB
Diff
diff --git a/plugins/remote-dev-server/bin/launcher.sh b/plugins/remote-dev-server/bin/launcher.sh
|
|
index 085c648..133990e 100755
|
|
--- a/plugins/remote-dev-server/bin/launcher.sh
|
|
+++ b/plugins/remote-dev-server/bin/launcher.sh
|
|
@@ -71,10 +71,6 @@
|
|
rm -f "$TEMP_REMOTE_DEV_VM_OPTIONS"
|
|
fi
|
|
|
|
- if [ -n "${TEMP_JBR:-}" ]; then
|
|
- rm -rf "$TEMP_JBR"
|
|
- fi
|
|
-
|
|
if [ -n "${XVFB_PID:-}" ]; then
|
|
kill -9 "$XVFB_PID" >/dev/null 2>&1
|
|
fi
|
|
@@ -309,72 +305,6 @@
|
|
mkdir -p "$IJ_HOST_CONFIG_DIR" || (echo "Failed to create $IJ_HOST_CONFIG_DIR" 1>&2; exit 1)
|
|
mkdir -p "$IJ_HOST_SYSTEM_DIR" || (echo "Failed to create $IJ_HOST_SYSTEM_DIR" 1>&2; exit 1)
|
|
|
|
-# -------------------------------------------------------------------------------------
|
|
-# Patch JBR to make self-contained JVM (requires nothing from host system except glibc)
|
|
-# -------------------------------------------------------------------------------------
|
|
-if [ -n "${REMOTE_DEV_SERVER_USE_SELF_CONTAINED_LIBS:-}" ]; then
|
|
- # already set by environment
|
|
- echo "\$REMOTE_DEV_SERVER_USE_SELF_CONTAINED_LIBS=$REMOTE_DEV_SERVER_USE_SELF_CONTAINED_LIBS"
|
|
-elif [ $IS_DARWIN -eq 1 ]; then
|
|
- REMOTE_DEV_SERVER_USE_SELF_CONTAINED_LIBS=0
|
|
-elif /lib64/ld-linux-x86-64.so.2 2>&1 | grep -q "gcompat ELF interpreter stub"; then
|
|
- # Not usable under Alpine and other musl-based linux distributions (x86-64)
|
|
- REMOTE_DEV_SERVER_USE_SELF_CONTAINED_LIBS=0
|
|
-elif /lib/ld-linux-aarch64.so.1 2>&1 | grep -q "gcompat ELF interpreter stub"; then
|
|
- # Not usable under Alpine and other musl-based linux distributions (aarch64)
|
|
- REMOTE_DEV_SERVER_USE_SELF_CONTAINED_LIBS=0
|
|
-else
|
|
- REMOTE_DEV_SERVER_USE_SELF_CONTAINED_LIBS=1
|
|
-fi
|
|
-
|
|
-if [ $REMOTE_DEV_SERVER_USE_SELF_CONTAINED_LIBS -eq 1 ]; then
|
|
- SELFCONTAINED_LIBS="$REMOTE_DEV_SERVER_DIR/selfcontained/lib"
|
|
- if [ ! -d "$SELFCONTAINED_LIBS" ]; then
|
|
- echo "ERROR! Unable to locate libraries for self-contained idea distribution. Directory not found: '$SELFCONTAINED_LIBS'." 1>&2
|
|
- exit 1
|
|
- fi
|
|
-
|
|
- TEMP_JBR="$IJ_HOST_SYSTEM_DIR/pid.$$.temp.jbr"
|
|
- rm -rf "$TEMP_JBR"
|
|
- cp -r --symbolic-link "$IDE_HOME/jbr" "$TEMP_JBR"
|
|
-
|
|
- export "${IDE_PRODUCT_UC}_JDK=$TEMP_JBR"
|
|
-
|
|
- patch_bin_file() {
|
|
- file="$1"
|
|
- extra_arg=""
|
|
- if [ "$(basename "$file")" = "java" ]; then
|
|
- extra_arg="\"-Djava.home=$TEMP_JBR\""
|
|
- fi
|
|
- mv "$file" "$file.bin"
|
|
-
|
|
- case $(uname -m) in
|
|
- x86_64)
|
|
- LD_LINUX=/lib64/ld-linux-x86-64.so.2
|
|
- ;;
|
|
- aarch64)
|
|
- LD_LINUX=/lib/ld-linux-aarch64.so.1
|
|
- ;;
|
|
- *)
|
|
- echo "Unsupported architecture $(uname -m)" 1>&2
|
|
- exit 1
|
|
- ;;
|
|
- esac
|
|
-
|
|
- cat >"$file" <<EOT
|
|
-#!/bin/sh
|
|
-exec $LD_LINUX --library-path "$SELFCONTAINED_LIBS" "${file}.bin" $extra_arg "\$@"
|
|
-EOT
|
|
- chmod 755 "$file"
|
|
- }
|
|
-
|
|
- # Hardcoded list copied from [org.jetbrains.intellij.build.impl.BundledRuntimeImpl.executableFilesPatterns]
|
|
- find -L "$TEMP_JBR/bin" -type f -executable | while IFS= read -r line; do patch_bin_file "$line"; done
|
|
- patch_bin_file "$TEMP_JBR/lib/chrome-sandbox"
|
|
- patch_bin_file "$TEMP_JBR/lib/jcef_helper"
|
|
- patch_bin_file "$TEMP_JBR/lib/jexec"
|
|
- patch_bin_file "$TEMP_JBR/lib/jspawnhelper"
|
|
-fi
|
|
# -----------------------------
|
|
# Display project trust warning
|
|
# -----------------------------
|
|
@@ -454,12 +384,6 @@
|
|
# Replace only default Xmx since users may modify vmoptions file to e.g. make -Xmx even bigger
|
|
sed "s/$IDE_DEFAULT_XMX/-Xmx2048m/g" "$TEMP_REMOTE_DEV_VM_OPTIONS" > "${TEMP_REMOTE_DEV_VM_OPTIONS}.tmp" && mv "${TEMP_REMOTE_DEV_VM_OPTIONS}.tmp" "${TEMP_REMOTE_DEV_VM_OPTIONS}"
|
|
|
|
-if [ $REMOTE_DEV_SERVER_USE_SELF_CONTAINED_LIBS -eq 1 ]; then
|
|
- # Since TEMP_JBR is built on symlinks, java tries to resolve it and calculates java.home incorrectly
|
|
- # Make sure java.home points to our patched JBR
|
|
- echo "-Djava.home=$TEMP_JBR" >>"$TEMP_REMOTE_DEV_VM_OPTIONS"
|
|
-fi
|
|
-
|
|
if [ $IS_WSL2 -eq 1 ] && [ "${REMOTE_DEV_SERVER_ALLOW_IPV6_ON_WSL2:-}" != "true" ]; then
|
|
echo "-Djava.net.preferIPv4Stack=true" >>"$TEMP_REMOTE_DEV_VM_OPTIONS"
|
|
fi
|