diff --git a/headless-services/org.springframework.tooling.jdt.ls.extension/pom.xml b/headless-services/org.springframework.tooling.jdt.ls.extension/pom.xml index 72e9694ce..448754afd 100644 --- a/headless-services/org.springframework.tooling.jdt.ls.extension/pom.xml +++ b/headless-services/org.springframework.tooling.jdt.ls.extension/pom.xml @@ -19,7 +19,8 @@ JDT.LS p2 - http://download.eclipse.org/jdtls/snapshots/repository/latest/ + ${jdt.ls.updatesite} + diff --git a/headless-services/org.springframework.tooling.jdt.ls.extension/src/org/springframework/tooling/jdt/ls/extension/ResolveClasspathHandler.java b/headless-services/org.springframework.tooling.jdt.ls.extension/src/org/springframework/tooling/jdt/ls/extension/ResolveClasspathHandler.java index 46b26b81d..fa3ad9271 100644 --- a/headless-services/org.springframework.tooling.jdt.ls.extension/src/org/springframework/tooling/jdt/ls/extension/ResolveClasspathHandler.java +++ b/headless-services/org.springframework.tooling.jdt.ls.extension/src/org/springframework/tooling/jdt/ls/extension/ResolveClasspathHandler.java @@ -15,12 +15,15 @@ import static org.springframework.tooling.jdt.ls.extension.Logger.log; import java.net.URI; import java.util.ArrayList; import java.util.List; +import java.util.concurrent.Executors; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.jdt.core.IClasspathEntry; import org.eclipse.jdt.core.IJavaProject; import org.eclipse.jdt.core.IPackageFragmentRoot; import org.eclipse.jdt.ls.core.internal.IDelegateCommandHandler; +import org.eclipse.jdt.ls.core.internal.JavaClientConnection; +import org.eclipse.jdt.ls.core.internal.JavaLanguageServerPlugin; @SuppressWarnings("restriction") public class ResolveClasspathHandler implements IDelegateCommandHandler { @@ -28,7 +31,15 @@ public class ResolveClasspathHandler implements IDelegateCommandHandler { public static final String ENTRY_KIND_SOURCE = "source"; public static final String ENTRY_KIND_BINARY = "binary"; public static final String OUTPUT_LOCATION = "output_location"; + + static { + Executors.newCachedThreadPool().execute(() -> { + JavaClientConnection client = JavaLanguageServerPlugin.getInstance().getClientConnection(); + client.executeCommand("say.hello", "Hello from our redhat extension"); + }); + } + @Override public Object executeCommand(String commandId, List arguments, IProgressMonitor monitor) throws Exception { log("ResolveClasspathHandler=" + commandId); diff --git a/headless-services/spring-boot-language-server/build.sh b/headless-services/spring-boot-language-server/build.sh index af3ef70a0..8a882147a 100755 --- a/headless-services/spring-boot-language-server/build.sh +++ b/headless-services/spring-boot-language-server/build.sh @@ -1,3 +1,8 @@ #!/bin/bash set -e -../mvnw -f ../pom.xml -pl spring-boot-language-server -am clean install +../mvnw \ + -Dmaven.test.skip=true \ + -f ../pom.xml \ + -pl spring-boot-language-server \ + -am \ + clean install diff --git a/vscode-extensions/vscode-spring-boot/build.sh b/vscode-extensions/vscode-spring-boot/build.sh index b11653472..273589182 100755 --- a/vscode-extensions/vscode-spring-boot/build.sh +++ b/vscode-extensions/vscode-spring-boot/build.sh @@ -1,4 +1,28 @@ #!/bin/bash set -e -x + +workdir=$(pwd) + +# Build jdt.ls +cd ${HOME}/git/eclipse.jdt.ls +jdt_ls_repo=$(pwd) +./mvnw -Pserver-distro clean package + +# Build vscode-java +cd ${HOME}/git/vscode-java +rm -fr server +mkdir server +tar -xvzf ${jdt_ls_repo}/org.eclipse.jdt.ls.product/distro/jdt-language-server-*.tar.gz -C ./server npm install +rm -fr *.vsix npm run vsce-package +code --uninstall-extension redhat.java || echo "Not installed redhat.java" +code --install-extension *.vsix + +# Build spring boot ls +cd $workdir +npm install +rm -fr *.vsix +npm run vsce-package +code --uninstall-extension Pivotal.vscode-spring-boot || echo "Not installed Pivotal.vscode-spring-boot" +code --install-extension *.vsix diff --git a/vscode-extensions/vscode-spring-boot/scripts/preinstall.sh b/vscode-extensions/vscode-spring-boot/scripts/preinstall.sh index 5667fb908..0c8825b90 100755 --- a/vscode-extensions/vscode-spring-boot/scripts/preinstall.sh +++ b/vscode-extensions/vscode-spring-boot/scripts/preinstall.sh @@ -17,7 +17,9 @@ mkdir -p ${workdir}/jars # Use maven to build jdt ls extension cd ../../headless-services/org.springframework.tooling.jdt.ls.extension -../mvnw clean package +../mvnw \ + -Djdt.ls.updatesite=file://${HOME}/git/eclipse.jdt.ls/org.eclipse.jdt.ls.repository/target/repository\ + clean package cp target/*.jar ${workdir}/jars/jdt-ls-extension.jar # Use maven to build fat jar of the language server