Skip to content

Commit

Permalink
Pass data directory to jdtls (#2191)
Browse files Browse the repository at this point in the history
Co-authored-by: Manuel Uberti <manuel.uberti@inventati.org>
Signed-off-by: Roland Grunberg <rgrunber@redhat.com>
  • Loading branch information
rgrunber and manuel-uberti committed Sep 26, 2022
1 parent 7ff257d commit b933706
Showing 1 changed file with 9 additions and 1 deletion.
10 changes: 9 additions & 1 deletion org.eclipse.jdt.ls.product/scripts/jdtls.py
Expand Up @@ -11,11 +11,13 @@
# Marc Schreiber - initial API and implementation
###############################################################################
import argparse
from hashlib import sha1
import os
import platform
import re
import subprocess
from pathlib import Path
import tempfile

def get_java_executable(validate_java_version):
java_executable = 'java'
Expand Down Expand Up @@ -64,12 +66,16 @@ def get_shared_config_path(jdtls_base_path):
return jdtls_base_path / config_dir

def main(args):
cwd_name = os.path.basename(os.getcwd())
jdtls_data_path = os.path.join(tempfile.gettempdir(), "jdtls-" + sha1(cwd_name.encode()).hexdigest())

parser = argparse.ArgumentParser()
parser.add_argument("--validate-java-version", default=True, action=argparse.BooleanOptionalAction)
parser.add_argument("--jvm-arg",
default=[],
action="append",
help="An additional JVM option (can be used multiple times. Note, use with equal sign. For example: --jvm-arg=-Dlog.level=ALL")
parser.add_argument("-data", default=jdtls_data_path)

known_args, args = parser.parse_known_args(args)
java_executable = get_java_executable(known_args.validate_java_version)
Expand All @@ -91,4 +97,6 @@ def main(args):
"--add-opens", "java.base/java.util=ALL-UNNAMED",
"--add-opens", "java.base/java.lang=ALL-UNNAMED"]
+ known_args.jvm_arg
+ ["-jar", jar_path] + args)
+ ["-jar", jar_path,
"-data", known_args.data]
+ args)

0 comments on commit b933706

Please sign in to comment.