Open
Description
If I reference RootProject external subprojects like so:
// build.sbt
lazy val root = (project in file("."))
.settings(organization := "com.example")
.aggregate(
RootProject(file("project1")),
)
// project1/build.sbt
lazy val project1Root = (project in file("."))
.settings(
organization := "com.example",
libraryDependencies := Seq(
"ch.qos.logback" % "logback-classic" % "1.5.8" % Runtime,
)
)
Clicking on the root in sbt panel then Analyze sbt dependencies...
fails at:
[IJ]project1Root / Compile / dependencyDot
[error] Expected ID character
[error] Not a valid command: project1Root
[error] Expected project ID
[error] Expected configuration
[error] Expected ':'
[error] Expected key
[error] Not a valid key: project1Root
[error] project1Root / Compile / dependencyDot
AFAIK it's not possible to invoke tasks of external projects so the only way might be to invoke separate sbt for each RootProject.
Running root / Compile / dependencyDot
seems to descend into external subprojects but does not work correctly. Dotfiles are missing in external projects without modules or contain only dependsOn entries with no libraryDependencies.
Preparation action completed
- I have added
addDependencyTreePlugin
intoplugins.sbt
(sbt.1.4+) or the filesdap.sbt
exists and containsaddDependencyTreePlugin
- also to subprojects
- I have set
organization :=
for root project and cross-platform
Screenshot of the current sbt Shell
Screenshot of the current dependency tree
It's big and proprietary. I'll try to repro on simple project if needed.
Scala platform (scala js, scala jvm, scala native) and version (scala 2.x, scala 3.x)
Scala 3.3 / jvm
IDEA version comes from About Intellij IDEA
2024.3.5