in src/extension.ts [40:85]
async function doActivate(_operationId: string, context: ExtensionContext): Promise<void> {
const javaLanguageSupport: Extension<any> | undefined = extensions.getExtension(ExtensionName.JAVA_LANGUAGE_SUPPORT);
if (javaLanguageSupport?.isActive) {
const extensionApi: any = javaLanguageSupport.exports;
if (!extensionApi) {
return;
}
serverMode = extensionApi.serverMode;
if (extensionApi.onDidClasspathUpdate) {
const onDidClasspathUpdate: Event<Uri> = extensionApi.onDidClasspathUpdate;
context.subscriptions.push(onDidClasspathUpdate(async () => {
// workaround: wait more time to make sure Language Server has updated all caches
setTimeout(() => {
testSourceProvider.clear();
commands.executeCommand(JavaTestRunnerCommands.REFRESH_TEST_EXPLORER);
}, 1000 /*ms*/);
}));
}
if (extensionApi.onDidServerModeChange) {
const onDidServerModeChange: Event<string> = extensionApi.onDidServerModeChange;
context.subscriptions.push(onDidServerModeChange(async (mode: string) => {
serverMode = mode;
if (mode === LanguageServerMode.Standard) {
testSourceProvider.clear();
registerComponents(context);
}
}));
}
if (extensionApi.onDidProjectsImport) {
const onDidProjectsImport: Event<Uri[]> = extensionApi.onDidProjectsImport;
context.subscriptions.push(onDidProjectsImport(async () => {
testSourceProvider.clear();
commands.executeCommand(JavaTestRunnerCommands.REFRESH_TEST_EXPLORER);
}));
}
}
const javaDebugger: Extension<any> | undefined = extensions.getExtension(ExtensionName.JAVA_DEBUGGER);
if (javaDebugger?.isActive) {
progressProvider = javaDebugger.exports?.progressProvider;
}
}