Repository navigation
Java Project Manager
microsoft/vscode-java-dependency provides the Java Projects tree and project/library-management UI in VS Code. DependencyExplorer creates the javaProjectExplorer tree with DependencyDataProvider; it also reveals selected resources through the project data returned by the language-server command bridge. This is presentation and extension-side orchestration, not JDTLS project import or dependency resolution.
Referenced-library commands update the java.project.referencedLibraries configuration through Settings; an explicit refresh then invokes the JDTLS-side java.project.refreshLib command for the default workspace folder. A configuration change should therefore not be treated as proof that a server refresh or build-tool resolution succeeded.
LanguageServerApiManager activates redhat.java, observes server readiness and classpath/project-import events, and refreshes or progressively adds tree data as appropriate. The Jdtls namespace sends project, package, path, library-refresh, main-class, dependency, and JAR-generation requests through the Java language client's workspace-command bridge.
The bundled JDTLS extension contributes delegate commands including java.project.list, java.project.refreshLib, java.getPackageData, java.resolvePath, java.project.getMainClasses, and java.project.generateJar, plus a jdt://jarentry/.* content provider. Those handlers run in JDTLS; they are distinct from the VS Code tree renderer.
At source commit eb3fba04f2763416b25833d92df4fb0210a9d668, PR #1101 adds package.nls.es.json with Spanish values for all 70 keys in package.nls.json. Coverage includes the extension description, command/submenu labels, configuration descriptions, build/JAR-export task descriptions, and welcome messages, including Create Java Project. The viewsWelcome.workbench.* translations preserve the base messages' command URIs and encoded arguments. This is localization-resource coverage, not a claim that every runtime message or adjacent Java tooling component is translated; the JSON-only change does not alter command implementations or establish Marketplace release availability.
At source commit fadfec5fa6bfd6f84d79ff5e60b6d18561871ea0, merged by PR #1100, GitHub Actions CI and E2E workflows use Temurin JDK 25. Azure CFS validation/CI uses Java 25, while the Windows nightly and RC pipelines download Microsoft JDK 25 and install it as Java 25 before building. This is CI/build-environment configuration, not a statement of an end-user runtime requirement, release status, or deployment.
At merged/source-tip commit d4dcbd89ca71ca0483e78d11effacdbe7b4f8957, PR #1117 configures extends.parameters.sdl.sourceAnalysisVariablesToReset with npm_config_registry in Azure CI, nightly, and RC pipeline templates. The build stages still import the repository's global npm CFS variables, while SDL source analysis resets the npm registry variable instead of inheriting that build routing. This is pipeline configuration, not evidence that Guardian/feed authentication executed successfully or that a build or release was queued. Source identity: microsoft/vscode-java-dependency#1117:d4dcbd89ca71ca0483e78d11effacdbe7b4f8957; maintenance inspected the complete three-file PR inventory and the before/final contents of all three files.
Verified at source commit 5a62e6664de42701234dda83043400caa6797a05, merged by PR #1108 (source identity microsoft/vscode-java-dependency#1108:5a62e6664de42701234dda83043400caa6797a05):
- The Gradle integration fixture's
test/gradle/.vscode/settings.jsonselectsjava.import.gradle.version: "9.1.0"instead of 7.3 and retainsjava.server.launchMode: "Standard".CONTRIBUTING.mddocuments the fixture upgrade in the context of JDK 25 used by the Java extension. This is test-fixture configuration, not a general user-project Gradle requirement or independently verified upstream compatibility guarantee. -
package.json'snpm testcompiles TypeScript, bundles with development webpack, and runsdist/test/index.js. Intest/index.ts,maincreates and prints a temporary VS Code user-data directory, passes it as--user-data-dirto the hosted suites, and appendsJAVA_TEST_USER_DIR=<path>toGITHUB_ENVwhen available so subsequent Actions steps can locate that profile. The runner installsredhat.javawithout a version pin; the PR's reported validation versions are not a runner guarantee. - Failure-only log steps in Linux, macOS, and Windows search the actual
JAVA_TEST_USER_DIR/User/workspaceStorageforredhat.java/jdt_ws/.metadata/.log, rather than the default user profile. Windows includes hidden files withGet-ChildItem -Force. Missing exported profile/storage produces a warning and skips collection; it means diagnostics are unavailable (the test host may not have started), not that tests passed or the language server had no errors. These are source-backed diagnostic paths, not confirmation of a successful CI run.
At source commit 5a62e6664de42701234dda83043400caa6797a05, PR #1108 sets the manifest and lockfile root versions to 0.27.7 (package.json, package-lock.json). The new CHANGELOG.md section references seven user-facing PRs: #1061, #1063, #1074, #1075, #1078, #1099, and #1101. This records source metadata and changelog provenance only; those earlier implementations were not revalidated by this reconciliation, and a merged version bump does not establish Marketplace publication or deployment.
PR #1111 temporarily changed the IssueLens issue-loop action reference to the moving main branch at merged commit 8a988512c1c2e59b93419bb7cb4bf60e1d842b48; that state is superseded.
At merged/source-tip commit 6360cc0cdc1d03562689a6cfeb7d41ec85b9beed, PR #1114 changes .github/workflows/issuelens-run.yml, jobs.triage from microsoft/IssueLens/.github/actions/issuelens@main to the immutable full revision microsoft/IssueLens/.github/actions/issuelens@c431d42dddf4e6bf20329b0ac96dbd8a4bf04006; source identity microsoft/vscode-java-dependency#1114:6360cc0cdc1d03562689a6cfeb7d41ec85b9beed. The complete one-file PR changes only this action reference: event filters, permissions, inputs, concurrency, and the 20-minute timeout remain unchanged. This is consumer workflow configuration, not verification of the external action's implementation or evidence of a successful live triage run.
At merged/source-tip commit ed2c194e9f9cf944c85e97ea3d40fd4ef4386e0b, PR #1112 removes the deprecated AI Triage workflow and bulk open-issue dispatcher; source identity microsoft/vscode-java-dependency#1112:ed2c194e9f9cf944c85e97ea3d40fd4ef4386e0b. Before deletion, the first workflow submitted opened or manually selected issues to the legacy Azure-function triage path, and the second manually enumerated open issues and dispatched the first workflow. Both files are absent from the final workflow directory, while issuelens-run.yml remains the IssueLens issue-loop entry point. This removal does not establish that any external service was disabled or that a live triage run succeeded.
At source commit 332bfdc2bf563b10470e20825564d5334ad4b26d, PR #1103 changes the repository's .github/workflows/team-memory-post-merge.yml from closed-PR events to pushes on main. Manual recovery remains available through workflow_dispatch with the required string input pull_request_number identifying a merged PR.
The workflow's jobs.team-memory.if requires ISSUELENS_TEAM_MEMORY_ENABLED == 'true', the current default-branch ref, and either a push or manual-dispatch event. It runs on ubuntu-latest with a 30-minute timeout and invokes microsoft/IssueLens/.github/actions/issuelens@2b5317815e15179899014a02c41678620ce2d390 with request-type: team-memory, activity output, and a status summary. Top-level permissions are empty; job permissions are contents: read, pull-requests: read, and id-token: write. These are caller configuration facts from the workflow above, not verification of the external action's implementation or a successful live run.
The same workflow's concurrency key is repository-specific and selects the push's github.event.after, otherwise the manual PR number, otherwise the run ID; cancel-in-progress is false. Different push SHAs therefore have different keys. This is not a shared-wiki lock: the accompanying maintenance concurrency note retains snapshot-based compare-and-swap because other repositories can update the shared wiki.
PR #1103 identifies an operational prerequisite: Azure OIDC federation must accept the default-branch subject repo:microsoft/vscode-java-dependency:ref:refs/heads/main for push/manual runs, accounting for any subject customization. Federation was not inspected or changed by that PR; a merge does not establish that federation, opt-in, deployment, or live publication is working.
Verified at source commit 1864fba4d145876808fe557a8dce82e45400e353, merged by PR #1098:
-
src/views/dependencyExplorer.ts(DependencyExplorer) -
src/controllers/libraryController.ts(LibraryController) -
src/languageServerApi/languageServerApiManager.ts(LanguageServerApiManager) -
src/java/jdtls.ts(Jdtls) jdtls.ext/com.microsoft.jdtls.ext.core/plugin.xml
CI runtime verified at source commit fadfec5fa6bfd6f84d79ff5e60b6d18561871ea0, merged by PR #1100:
- GitHub Actions:
.github/workflows/linux.yml,.github/workflows/macOS.yml,.github/workflows/windows.yml, and.github/workflows/e2eUI.yml - Azure Pipelines:
.azure-pipelines/ci.yml,.azure-pipelines/nightly.yml, and.azure-pipelines/rc.yml