feat(gradle): analyze a Gradle project's dependencies per configuration (#1181)

The Dependency Analyzer lists Gradle projects next to Maven modules. For a Gradle project it runs `<project>:dependencies --configuration <name>` (compile/runtime/test classpaths) in the background (on the project host for remote projects), cancellable and cached per session, and reuses the list/tree views, search, conflicts-only filter and usage paths: an exact request Gradle replaced (1.0 -> 1.1) is a conflict showing the requested version, constraints are left out, unresolved dependencies are marked and build projects (quoted or not) are recognised. Exclude / Jump to Source stay Maven-only. Opened from the Gradle tool window toolbar, a Gradle project's context menu and a build script's menus.

Closes #1005
Цей коміт міститься в:
l0ng-ai authored and GitHub committed 2026-11-04 13:51:40 +08:00
1 джерело 16df2ae472
коміт 4fbe41194f
15 files changed
+939 -130

No files matched your search

+15
Переглянути файл
@@ -43,6 +43,21 @@ pub async fn build_sync(
.await
}
/// The resolved dependency tree of a Gradle project for one configuration (Dependency Analyzer).
#[tauri::command]
#[specta::specta]
pub async fn gradle_dependencies(
window: Window,
state: State<'_, AppState>,
gradle_path: String,
configuration: String,
offline: bool,
request: RequestId,
) -> IdeResult<Vec<ide_build::GradleDependency>> {
ide_host::ops::build::gradle_dependencies(&state.host, window.label(), gradle_path, configuration, offline, request)
.await
}
/// The `.toml` of a version catalog the build imports as `group:artifact:version`, once a
/// build has downloaded it.
#[tauri::command]
+1
Переглянути файл
@@ -340,6 +340,7 @@ pub fn builder() -> tauri_specta::Builder<tauri::Wry> {
run::run_test_reports,
build::build_model,
build::build_sync,
build::gradle_dependencies,
build::gradle_published_catalog,
build::maven_dependency_declaration,
build::maven_exclude_dependency,