From 98e43106d6d50379061aebec7aaa90235688d13e Mon Sep 17 00:00:00 2001 From: Hanxiao Liu Date: Wed, 17 Dec 2025 15:45:06 +0800 Subject: [PATCH 1/2] fix: only show dependency checkup for maven/gradle projects --- src/upgrade/upgradeManager.ts | 24 ++++++++++++++++++++---- src/views/containerNode.ts | 2 +- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/src/upgrade/upgradeManager.ts b/src/upgrade/upgradeManager.ts index 87fe3372..663b75c5 100644 --- a/src/upgrade/upgradeManager.ts +++ b/src/upgrade/upgradeManager.ts @@ -6,12 +6,14 @@ import { commands, type ExtensionContext, workspace, type WorkspaceFolder } from import { Jdtls } from "../java/jdtls"; import { languageServerApiManager } from "../languageServerApi/languageServerApiManager"; import { ExtensionName } from "../constants"; -import { instrumentOperation, instrumentOperationAsVsCodeCommand } from "vscode-extension-telemetry-wrapper"; +import { instrumentOperation, instrumentOperationAsVsCodeCommand, sendInfo } from "vscode-extension-telemetry-wrapper"; import { Commands } from "../commands"; import notificationManager from "./display/notificationManager"; import { Settings } from "../settings"; import assessmentManager from "./assessmentManager"; import { checkOrInstallAppModExtensionForUpgrade, checkOrPopupToInstallAppModExtensionForModernization } from "./utility"; +import { NodeKind } from "../../extension.bundle"; +import { ContainerPath } from "../views/containerNode"; const DEFAULT_UPGRADE_PROMPT = "Upgrade Java project dependency to latest version."; @@ -55,12 +57,26 @@ class UpgradeManager { private static async runDependencyCheckup(folder: WorkspaceFolder) { return (instrumentOperation("java.dependency.runDependencyCheckup", async (_operationId: string) => { - if (!await languageServerApiManager.ready()) { - return; + if (!(await languageServerApiManager.ready())) { + sendInfo(_operationId, { "skipReason": "languageServerNotReady" }); + return; } + const projectData = await Jdtls.getPackageData({ + kind: NodeKind.Project, + projectUri: folder.uri.toString(), + }); + const isMavenGradleProject = projectData.some( + (dep) => dep.kind === NodeKind.Container && (dep.path?.startsWith(ContainerPath.Maven) || dep.path?.startsWith(ContainerPath.Gradle)) + ); + if (!isMavenGradleProject) { + sendInfo(_operationId, { "skipReason": "notMavenGradleProject" }); + return; + } + const hasJavaError: boolean = await Jdtls.checkImportStatus(); if (hasJavaError) { - return; + sendInfo(_operationId, { "skipReason": "hasJavaError" }); + return; } const uri = folder.uri.toString(); diff --git a/src/views/containerNode.ts b/src/views/containerNode.ts index a8cbd6c7..8ae3e83b 100644 --- a/src/views/containerNode.ts +++ b/src/views/containerNode.ts @@ -83,7 +83,7 @@ export enum ContainerType { Unknown = "", } -const enum ContainerPath { +export const enum ContainerPath { JRE = "org.eclipse.jdt.launching.JRE_CONTAINER", Maven = "org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER", Gradle = "org.eclipse.buildship.core.gradleclasspathcontainer", From 1e3c06a802e59ea898148077f649d476cbcda506 Mon Sep 17 00:00:00 2001 From: Hanxiao Liu Date: Thu, 18 Dec 2025 10:25:43 +0800 Subject: [PATCH 2/2] fix: fix lint issues --- src/upgrade/upgradeManager.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/upgrade/upgradeManager.ts b/src/upgrade/upgradeManager.ts index 663b75c5..c61c786b 100644 --- a/src/upgrade/upgradeManager.ts +++ b/src/upgrade/upgradeManager.ts @@ -66,7 +66,8 @@ class UpgradeManager { projectUri: folder.uri.toString(), }); const isMavenGradleProject = projectData.some( - (dep) => dep.kind === NodeKind.Container && (dep.path?.startsWith(ContainerPath.Maven) || dep.path?.startsWith(ContainerPath.Gradle)) + (dep) => dep.kind === NodeKind.Container && + (dep.path?.startsWith(ContainerPath.Maven) || dep.path?.startsWith(ContainerPath.Gradle)) ); if (!isMavenGradleProject) { sendInfo(_operationId, { "skipReason": "notMavenGradleProject" });