From b564ef900eb6980691eacbafb068d1465a6638c4 Mon Sep 17 00:00:00 2001 From: Martin Lippert Date: Tue, 16 Apr 2019 19:24:22 +0200 Subject: [PATCH] do not fail to load cloud foundry manifest language server in dev mode if the local file is not there --- .../boot/ls/SpringBootLanguageServer.java | 4 ++- .../CloudFoundryManifestLanguageServer.java | 30 ++++++++----------- 2 files changed, 16 insertions(+), 18 deletions(-) diff --git a/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/SpringBootLanguageServer.java b/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/SpringBootLanguageServer.java index dd38bf3c0..59875cd34 100644 --- a/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/SpringBootLanguageServer.java +++ b/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/SpringBootLanguageServer.java @@ -84,6 +84,7 @@ public class SpringBootLanguageServer extends STS4LanguageServerProcessStreamCon String languageServerLocalCopy = bundleVersion + "-" + languageServer; File dataFile = bundle.getDataFile(languageServerLocalCopy); + Exception error = null; if (!dataFile.exists() || bundleVersion.endsWith("qualifier")) { // qualifier check to get the language server always copied in dev mode try { @@ -93,11 +94,12 @@ public class SpringBootLanguageServer extends STS4LanguageServerProcessStreamCon error = e; } } + if (bundleVersion.endsWith("qualifier")) { File userHome = new File(System.getProperty("user.home")); File locallyBuiltJar = new File( userHome, - "git/sts4/headless-services/spring-boot-language-server/target/spring-boot-language-server-"+Constants.LANGUAGE_SERVER_VERSION + "git/sts4/headless-services/spring-boot-language-server/target/spring-boot-language-server-" + Constants.LANGUAGE_SERVER_VERSION ); if (locallyBuiltJar.exists()) { return locallyBuiltJar.getAbsolutePath(); diff --git a/eclipse-language-servers/org.springframework.tooling.cloudfoundry.manifest.ls/src/org/springframework/tooling/cloudfoundry/manifest/ls/CloudFoundryManifestLanguageServer.java b/eclipse-language-servers/org.springframework.tooling.cloudfoundry.manifest.ls/src/org/springframework/tooling/cloudfoundry/manifest/ls/CloudFoundryManifestLanguageServer.java index d5d73b3ed..24efb7c93 100644 --- a/eclipse-language-servers/org.springframework.tooling.cloudfoundry.manifest.ls/src/org/springframework/tooling/cloudfoundry/manifest/ls/CloudFoundryManifestLanguageServer.java +++ b/eclipse-language-servers/org.springframework.tooling.cloudfoundry.manifest.ls/src/org/springframework/tooling/cloudfoundry/manifest/ls/CloudFoundryManifestLanguageServer.java @@ -98,21 +98,9 @@ public class CloudFoundryManifestLanguageServer extends STS4LanguageServerProces String languageServerLocalCopy = bundleVersion + "-" + languageServer; File dataFile = bundle.getDataFile(languageServerLocalCopy); + Exception error = null; - if (bundleVersion.endsWith("qualifier")) { - File userHome = new File(System.getProperty("user.home")); - File locallyBuiltJar = new File( - userHome, - "git/sts4/headless-services/manifest-yaml-language-server/target/manifest-yaml-language-server-"+Constants.LANGUAGE_SERVER_VERSION - ); - if (locallyBuiltJar.exists()) { - return locallyBuiltJar.getAbsolutePath(); - } else { - throw new IllegalStateException("Not found language server jar: "+locallyBuiltJar); - } - } - - if (!dataFile.exists()) { + if (!dataFile.exists() || bundleVersion.endsWith("qualifier")) { // qualifier check to get the language server always copied in dev mode try { copyLanguageServerJAR(languageServer, languageServerLocalCopy); } @@ -120,12 +108,20 @@ public class CloudFoundryManifestLanguageServer extends STS4LanguageServerProces error = e; } } - if (!dataFile.exists()) { - if (error!=null) { + + if (bundleVersion.endsWith("qualifier")) { + File userHome = new File(System.getProperty("user.home")); + File locallyBuiltJar = new File( + userHome, + "git/sts4/headless-services/manifest-yaml-language-server/target/manifest-yaml-language-server-" + Constants.LANGUAGE_SERVER_VERSION + ); + if (locallyBuiltJar.exists()) { + return locallyBuiltJar.getAbsolutePath(); + } + if (error != null) { error.printStackTrace(); } } - return dataFile.getAbsolutePath(); }