mirror of
https://github.com/l0ng-ai/openidea.git
synced 2026-11-07 16:36:58 +00:00
Run/Debug of a Java-only module that depends on a Kotlin/Groovy/Scala module in the same reactor launched with stale classes or failed with Unresolved compilation problem, and a successful Maven build was still reported with the old JDT compile errors. Root cause: the pre-launch external build only checked the launch module's own sources, and Maven shared target/classes with JDT autobuild. Fix: walk the launch module's reactor dependency closure (transitive, test scope aware) for non-Java sources; when found, run Maven from the reactor root (-pl <module> -am clean compile, test-compile for test launches) and block the launch on failure or cancel with the Maven errors in the console. JDT autobuild is paused while Maven runs and restored afterwards, and the launch uses a per-launch snapshot of the closure's output so JDT cannot overwrite it. A successful Maven build no longer shows the stale JDT warning. Pure Java projects and Gradle keep their previous path; the debugger adapter choice still follows the launch module. Verified on macOS with single- and multi-module Maven projects (new Kotlin values in Run and Debug, Kotlin error blocks the launch, cancel, pure Java does not invoke Maven). Editor type resolution for Kotlin in Java is handled separately. Part of #428
55 lines
1.5 KiB
TOML
55 lines
1.5 KiB
TOML
[package]
|
|
name = "ide-host"
|
|
description = "The IDE backend without a UI toolkit: projects per window, terminals, processes, and the JSON-RPC server for remote development"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
|
|
[[bin]]
|
|
name = "openidea-server"
|
|
path = "src/bin/server.rs"
|
|
|
|
[dependencies]
|
|
encoding_rs.workspace = true
|
|
ide-core.workspace = true
|
|
ide-text.workspace = true
|
|
ide-vfs.workspace = true
|
|
ide-workspace.workspace = true
|
|
ide-language.workspace = true
|
|
ide-index.workspace = true
|
|
ide-syntax.workspace = true
|
|
ide-search.workspace = true
|
|
ide-lsp.workspace = true
|
|
ide-vcs.workspace = true
|
|
ide-dap.workspace = true
|
|
ide-build.workspace = true
|
|
ide-analysis.workspace = true
|
|
ide-coverage.workspace = true
|
|
ide-spell.workspace = true
|
|
ide-terminal.workspace = true
|
|
ide-run.workspace = true
|
|
ide-sdk.workspace = true
|
|
ide-http.workspace = true
|
|
ide-db.workspace = true
|
|
ide-ssh.workspace = true
|
|
ide-remote.workspace = true
|
|
ide-jsonrpc.workspace = true
|
|
ide-agent.workspace = true
|
|
ide-notebook.workspace = true
|
|
ide-tools = { path = "../ide-tools" }
|
|
serde.workspace = true
|
|
serde_json.workspace = true
|
|
specta.workspace = true
|
|
specta-typescript.workspace = true
|
|
tokio = { workspace = true, features = ["io-std"] }
|
|
tracing.workspace = true
|
|
tracing-subscriber.workspace = true
|
|
parking_lot.workspace = true
|
|
dunce.workspace = true
|
|
dirs.workspace = true
|
|
uuid.workspace = true
|
|
tempfile.workspace = true
|
|
|
|
[dev-dependencies]
|
|
tokio = { workspace = true, features = ["rt-multi-thread", "macros", "io-util", "test-util"] }
|