Atom-extensions use new jar launcher mechanic to add tools.jar

This commit is contained in:
Kris De Volder
2018-03-02 16:50:17 -08:00
parent c1a2578a20
commit 0220cf41bd
8 changed files with 13 additions and 29 deletions

View File

@@ -19,7 +19,7 @@
"dependencies": {
"atom-package-deps": "^4.6.0",
"download": "^6.2.5",
"@pivotal-tools/atom-languageclient-commons": "0.0.1"
"@pivotal-tools/atom-languageclient-commons": "0.0.2"
},
"configSchema": {
"bosh": {

View File

@@ -19,7 +19,7 @@
"dependencies": {
"atom-package-deps": "^4.6.0",
"download": "^6.2.5",
"@pivotal-tools/atom-languageclient-commons": "0.0.1"
"@pivotal-tools/atom-languageclient-commons": "0.0.2"
},
"devDependencies": {
"coffeelint": "^1.10.1"

View File

@@ -130,8 +130,8 @@ export class JavaProcessLanguageClient extends AutoLanguageClient {
return this.launchVmArgs(jvm).then(args => {
args.push(`-Dserver.port=${port}`);
return this.doLaunchProcess(
jvm.getJavaExecutable(),
this.getOrInstallLauncher(),
jvm,
this.getServerJar(),
port,
args
);
@@ -143,23 +143,16 @@ export class JavaProcessLanguageClient extends AutoLanguageClient {
return Promise.resolve([]);
}
doLaunchProcess(javaExecutable, launcher, port, args=[]) {
doLaunchProcess(jvm, launcher, port, args=[]) {
let vmArgs = args.concat([
// Atom doesn't have lazy completion proposals support - completionItem/resolve message. Disable lazy completions
'-Dlsp.lazy.completions.disable=true',
'-Dlsp.completions.indentation.enable=true',
'-Dlsp.yaml.completions.errors.disable=true',
]);
if (launcher.endsWith('.jar')) {
vmArgs.push('-jar');
}
vmArgs.push(launcher);
this.logger.debug(`starting "${javaExecutable} ${vmArgs.join('\n')}"`);
return cp.spawn(javaExecutable, vmArgs, { cwd: this.serverHome })
}
getOrInstallLauncher() {
return this.getServerJar();
this.logger.debug(`starting "${jvm.getJavaExecutable()} ${vmArgs.join('\n')}\n-jar ${launcher}"`);
return jvm.jarLaunch(launcher, vmArgs, { cwd: this.serverHome });
}
installServer () {

View File

@@ -1,6 +1,6 @@
{
"name": "@pivotal-tools/atom-languageclient-commons",
"version": "0.0.1",
"version": "0.0.2",
"description": "Atom language client commons for STS4 language servers",
"repository": "https://github.com/spring-projects/sts4",
"license": "MIT",
@@ -8,7 +8,7 @@
"atom": ">=1.17.0"
},
"dependencies": {
"@pivotal-tools/jvm-launch-utils": "0.0.9",
"@pivotal-tools/jvm-launch-utils": "0.0.11",
"atom-languageclient": "0.8.0",
"decompress": "^4.2.0",
"portfinder": "^1.0.13",

View File

@@ -19,7 +19,7 @@
"dependencies": {
"atom-package-deps": "^4.6.0",
"download": "^6.2.5",
"@pivotal-tools/atom-languageclient-commons": "0.0.1"
"@pivotal-tools/atom-languageclient-commons": "0.0.2"
},
"devDependencies": {
"coffeelint": "^1.10.1"

View File

@@ -46,10 +46,6 @@ class SpringBootLanguageClient extends JavaProcessLanguageClient {
super.activate();
}
getOrInstallLauncher() {
return 'org.springframework.boot.loader.JarLauncher';
}
preferJdk() {
return true;
}
@@ -67,11 +63,6 @@ class SpringBootLanguageClient extends JavaProcessLanguageClient {
'JAVA_HOME or PATH environment variable seems to point to a JRE. A JDK is required, hence Boot Hints are unavailable.'
);
}
let toolsJar = jvm.getToolsJar();
vmargs.push(
"-cp",
`${toolsJar ? `${toolsJar}${path.delimiter}` : ''}${this.getServerJar()}`
);
return Promise.resolve(vmargs);
}

View File

@@ -25,10 +25,10 @@
}
},
"dependencies": {
"@pivotal-tools/atom-languageclient-commons": "0.0.2",
"atom-languageclient": "0.8.0",
"atom-package-deps": "^4.6.0",
"download": "^6.2.5",
"@pivotal-tools/atom-languageclient-commons": "0.0.1"
"download": "^6.2.5"
},
"devDependencies": {
"coffeelint": "^1.10.1"

View File

@@ -1,3 +1,3 @@
{
"jarUrl": "https://s3-us-west-1.amazonaws.com/s3-test.spring.io/sts4/fatjars/snapshots/spring-boot-language-server-0.1.4-201802212000.jar"
"jarUrl": "https://s3-us-west-1.amazonaws.com/s3-test.spring.io/sts4/fatjars/snapshots/spring-boot-language-server-0.1.5-201803022113.jar"
}