This commit is contained in:
aboyko
2023-09-19 19:09:43 -04:00
parent 2977081237
commit a18127cddc
12 changed files with 3276 additions and 2 deletions

View File

@@ -36,6 +36,17 @@ public class ConcourseLanguageServer extends STS4LanguageServerProcessStreamConn
)
);
// Bundle bundle = Platform.getBundle(getPluginId());
// File bundleFile = FileLocator.getBundleFileLocation(bundle).orElse(null);
//
// File bundleRoot = bundleFile.getAbsoluteFile();
// Path languageServerRoot = bundleRoot.toPath().resolve(Paths.get("servers", "concourse-language-server"));
//
// setCommands(List.of(
// languageServerRoot.toFile().toString(),
// "-Dsts.lsp.client=eclipse"
// ));
setWorkingDirectory(getWorkingDirLocation());
}

View File

@@ -113,6 +113,9 @@ public abstract class STS4LanguageServerProcessStreamConnector extends ProcessSt
command.add(classpath.toString());
command.add("-agentlib:native-image-agent=config-output-dir=/Users/aboyko/" + getPluginId() + "/,config-write-period-secs=30,config-write-initial-delay-secs=5");
command.add("-Dsts.lsp.client=eclipse");
command.addAll(extraVmArgs);

View File

@@ -1,3 +1,3 @@
#!/bin/bash
set -e
../mvnw -f ../pom.xml -pl concourse-language-server -am clean install
../mvnw -f ../pom.xml -pl concourse-language-server -Pnative -am clean install

View File

@@ -191,6 +191,10 @@
</executions>
</plugin>
<plugin>
<groupId>org.graalvm.buildtools</groupId>
<artifactId>native-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>

View File

@@ -0,0 +1,19 @@
[
{
"name":"java.lang.Boolean",
"methods":[{"name":"getBoolean","parameterTypes":["java.lang.String"] }]
},
{
"name":"sun.management.VMManagementImpl",
"fields":[
{"name":"compTimeMonitoringSupport"},
{"name":"currentThreadCpuTimeSupport"},
{"name":"objectMonitorUsageSupport"},
{"name":"otherThreadCpuTimeSupport"},
{"name":"remoteDiagnosticCommandsSupport"},
{"name":"synchronizerUsageSupport"},
{"name":"threadAllocatedMemorySupport"},
{"name":"threadContentionMonitoringSupport"}
]
}
]

View File

@@ -0,0 +1,11 @@
[
{
"interfaces":["java.lang.reflect.ParameterizedType","org.springframework.core.SerializableTypeWrapper$SerializableTypeProxy","java.io.Serializable"]
},
{
"interfaces":["org.springframework.boot.context.properties.ConfigurationProperties"]
},
{
"interfaces":["org.springframework.ide.vscode.commons.protocol.STS4LanguageClient","org.eclipse.lsp4j.jsonrpc.Endpoint"]
}
]

View File

@@ -0,0 +1,216 @@
{
"resources":{
"includes":[
{
"pattern":"\\QMETA-INF/services/ch.qos.logback.classic.spi.Configurator\\E"
},
{
"pattern":"\\QMETA-INF/services/org.slf4j.spi.SLF4JServiceProvider\\E"
},
{
"pattern":"\\QMETA-INF/spring-autoconfigure-metadata.properties\\E"
},
{
"pattern":"\\QMETA-INF/spring.factories\\E"
},
{
"pattern":"\\QMETA-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports\\E"
},
{
"pattern":"\\Qlogback.xml\\E"
},
{
"pattern":"\\Qorg/springframework/beans/factory/config/BeanFactoryPostProcessor.class\\E"
},
{
"pattern":"\\Qorg/springframework/boot/autoconfigure/AbstractDependsOnBeanFactoryPostProcessor.class\\E"
},
{
"pattern":"\\Qorg/springframework/boot/autoconfigure/AutoConfiguration.class\\E"
},
{
"pattern":"\\Qorg/springframework/boot/autoconfigure/AutoConfigureAfter.class\\E"
},
{
"pattern":"\\Qorg/springframework/boot/autoconfigure/AutoConfigureBefore.class\\E"
},
{
"pattern":"\\Qorg/springframework/boot/autoconfigure/AutoConfigureOrder.class\\E"
},
{
"pattern":"\\Qorg/springframework/boot/autoconfigure/admin/SpringApplicationAdminJmxAutoConfiguration.class\\E"
},
{
"pattern":"\\Qorg/springframework/boot/autoconfigure/aop/AopAutoConfiguration$AspectJAutoProxyingConfiguration.class\\E"
},
{
"pattern":"\\Qorg/springframework/boot/autoconfigure/aop/AopAutoConfiguration$ClassProxyingConfiguration.class\\E"
},
{
"pattern":"\\Qorg/springframework/boot/autoconfigure/aop/AopAutoConfiguration.class\\E"
},
{
"pattern":"\\Qorg/springframework/boot/autoconfigure/availability/ApplicationAvailabilityAutoConfiguration.class\\E"
},
{
"pattern":"\\Qorg/springframework/boot/autoconfigure/cache/CacheAutoConfiguration$CacheConfigurationImportSelector.class\\E"
},
{
"pattern":"\\Qorg/springframework/boot/autoconfigure/cache/CacheAutoConfiguration$CacheManagerEntityManagerFactoryDependsOnPostProcessor.class\\E"
},
{
"pattern":"\\Qorg/springframework/boot/autoconfigure/cache/CacheAutoConfiguration$CacheManagerValidator.class\\E"
},
{
"pattern":"\\Qorg/springframework/boot/autoconfigure/cache/CacheAutoConfiguration.class\\E"
},
{
"pattern":"\\Qorg/springframework/boot/autoconfigure/cache/GenericCacheConfiguration.class\\E"
},
{
"pattern":"\\Qorg/springframework/boot/autoconfigure/cache/NoOpCacheConfiguration.class\\E"
},
{
"pattern":"\\Qorg/springframework/boot/autoconfigure/cache/SimpleCacheConfiguration.class\\E"
},
{
"pattern":"\\Qorg/springframework/boot/autoconfigure/condition/ConditionalOnBean.class\\E"
},
{
"pattern":"\\Qorg/springframework/boot/autoconfigure/condition/ConditionalOnClass.class\\E"
},
{
"pattern":"\\Qorg/springframework/boot/autoconfigure/condition/ConditionalOnMissingBean.class\\E"
},
{
"pattern":"\\Qorg/springframework/boot/autoconfigure/condition/ConditionalOnMissingClass.class\\E"
},
{
"pattern":"\\Qorg/springframework/boot/autoconfigure/condition/ConditionalOnProperty.class\\E"
},
{
"pattern":"\\Qorg/springframework/boot/autoconfigure/context/ConfigurationPropertiesAutoConfiguration.class\\E"
},
{
"pattern":"\\Qorg/springframework/boot/autoconfigure/context/LifecycleAutoConfiguration.class\\E"
},
{
"pattern":"\\Qorg/springframework/boot/autoconfigure/context/MessageSourceAutoConfiguration.class\\E"
},
{
"pattern":"\\Qorg/springframework/boot/autoconfigure/context/PropertyPlaceholderAutoConfiguration.class\\E"
},
{
"pattern":"\\Qorg/springframework/boot/autoconfigure/gson/GsonAutoConfiguration$StandardGsonBuilderCustomizer.class\\E"
},
{
"pattern":"\\Qorg/springframework/boot/autoconfigure/gson/GsonAutoConfiguration.class\\E"
},
{
"pattern":"\\Qorg/springframework/boot/autoconfigure/info/ProjectInfoAutoConfiguration$GitResourceAvailableCondition.class\\E"
},
{
"pattern":"\\Qorg/springframework/boot/autoconfigure/info/ProjectInfoAutoConfiguration.class\\E"
},
{
"pattern":"\\Qorg/springframework/boot/autoconfigure/jackson/JacksonAutoConfiguration$Jackson2ObjectMapperBuilderCustomizerConfiguration.class\\E"
},
{
"pattern":"\\Qorg/springframework/boot/autoconfigure/jackson/JacksonAutoConfiguration$JacksonAutoConfigurationRuntimeHints.class\\E"
},
{
"pattern":"\\Qorg/springframework/boot/autoconfigure/jackson/JacksonAutoConfiguration$JacksonMixinConfiguration.class\\E"
},
{
"pattern":"\\Qorg/springframework/boot/autoconfigure/jackson/JacksonAutoConfiguration$JacksonObjectMapperBuilderConfiguration.class\\E"
},
{
"pattern":"\\Qorg/springframework/boot/autoconfigure/jackson/JacksonAutoConfiguration$JacksonObjectMapperConfiguration.class\\E"
},
{
"pattern":"\\Qorg/springframework/boot/autoconfigure/jackson/JacksonAutoConfiguration$ParameterNamesModuleConfiguration.class\\E"
},
{
"pattern":"\\Qorg/springframework/boot/autoconfigure/jackson/JacksonAutoConfiguration.class\\E"
},
{
"pattern":"\\Qorg/springframework/boot/autoconfigure/jmx/JmxAutoConfiguration.class\\E"
},
{
"pattern":"\\Qorg/springframework/boot/autoconfigure/orm/jpa/EntityManagerFactoryDependsOnPostProcessor.class\\E"
},
{
"pattern":"\\Qorg/springframework/boot/autoconfigure/sql/init/DataSourceInitializationConfiguration.class\\E"
},
{
"pattern":"\\Qorg/springframework/boot/autoconfigure/sql/init/R2dbcInitializationConfiguration.class\\E"
},
{
"pattern":"\\Qorg/springframework/boot/autoconfigure/sql/init/SqlInitializationAutoConfiguration$SqlInitializationModeCondition$ModeIsNever.class\\E"
},
{
"pattern":"\\Qorg/springframework/boot/autoconfigure/sql/init/SqlInitializationAutoConfiguration$SqlInitializationModeCondition.class\\E"
},
{
"pattern":"\\Qorg/springframework/boot/autoconfigure/sql/init/SqlInitializationAutoConfiguration.class\\E"
},
{
"pattern":"\\Qorg/springframework/boot/autoconfigure/ssl/SslAutoConfiguration.class\\E"
},
{
"pattern":"\\Qorg/springframework/boot/autoconfigure/task/TaskExecutionAutoConfiguration.class\\E"
},
{
"pattern":"\\Qorg/springframework/boot/autoconfigure/task/TaskSchedulingAutoConfiguration.class\\E"
},
{
"pattern":"\\Qorg/springframework/boot/context/properties/EnableConfigurationProperties.class\\E"
},
{
"pattern":"\\Qorg/springframework/boot/context/properties/EnableConfigurationPropertiesRegistrar.class\\E"
},
{
"pattern":"\\Qorg/springframework/boot/sql/init/dependency/DatabaseInitializationDependencyConfigurer.class\\E"
},
{
"pattern":"\\Qorg/springframework/context/annotation/Conditional.class\\E"
},
{
"pattern":"\\Qorg/springframework/context/annotation/Configuration.class\\E"
},
{
"pattern":"\\Qorg/springframework/context/annotation/Import.class\\E"
},
{
"pattern":"\\Qorg/springframework/context/annotation/ImportBeanDefinitionRegistrar.class\\E"
},
{
"pattern":"\\Qorg/springframework/core/Ordered.class\\E"
},
{
"pattern":"\\Qorg/springframework/ide/vscode/commons/languageserver/reconcile/DiagnosticSeverityProvider.class\\E"
},
{
"pattern":"\\Qorg/springframework/ide/vscode/concourse/ConcourseDiagnosticSeverities.class\\E"
},
{
"pattern":"\\Qorg/springframework/ide/vscode/concourse/ConcourseLanguageServerBootApp.class\\E"
},
{
"pattern":"\\Qorg/springframework/ide/vscode/concourse/ConcourseLanguageServerInitializer$SchemaSpecificPieces.class\\E"
},
{
"pattern":"\\Qorg/springframework/ide/vscode/concourse/ConcourseLanguageServerInitializer.class\\E"
},
{
"pattern":"\\Qorg/springframework/ide/vscode/concourse/\\E"
},
{
"pattern":"\\Qorg/springframework/ide/vscode/languageserver/starter/LanguageServerAutoConf.class\\E"
},
{
"pattern":"\\Qorg/springframework/ide/vscode/languageserver/starter/LanguageServerRunnerAutoConf.class\\E"
}
]},
"bundles":[]
}

View File

@@ -2,3 +2,5 @@ languageserver.extension-id=vscode-concourse
spring.main.banner-mode=off
languageserver.completion-trigger-characters.concourse-task-yaml=abcdefghijklmnopqrsuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_
languageserver.completion-trigger-characters.concourse-pipeline-yaml=abcdefghijklmnopqrsuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_
#languageserver.standalone=true
#languageserver.standalone-port=5007

View File

@@ -6,6 +6,7 @@ if command -v xvfb-run ; then
echo "Using xvfb to run in headless environment..."
xvfb-run ../mvnw \
-DtrimStackTrace=false \
-Pnative
-f ../pom.xml \
-pl $modules \
-am \
@@ -13,6 +14,7 @@ if command -v xvfb-run ; then
else
../mvnw \
-DtrimStackTrace=false \
-Pnative
-f ../pom.xml \
-pl $modules \
-am \
@@ -21,6 +23,7 @@ fi
cd ../xml-ls-extension
../mvnw \
-DtrimStackTrace=false \
-Pnative
-f ../pom.xml \
-pl xml-ls-extension \
-am \

View File

@@ -379,6 +379,10 @@
</executions>
</plugin>
<plugin>
<groupId>org.graalvm.buildtools</groupId>
<artifactId>native-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>

View File

@@ -27,7 +27,7 @@ function error(msg : string) {
export function activate(context: VSCode.ExtensionContext) {
let options : commons.ActivatorOptions = {
DEBUG : false,
CONNECT_TO_LS: false,
CONNECT_TO_LS: true,
extensionId: 'vscode-concourse',
jvmHeap: "48m",
workspaceOptions: VSCode.workspace.getConfiguration("concourse.ls"),