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" < "${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