mirror of https://github.com/sbt/sbt.git
Fixes #9009. dependencyMode := DependencyMode.PlusOne strips every internal project dependency from the compile classpath, even direct ones -- LibA/compile fails with Not found: CoreClass despite LibA.dependsOn(Core). Direct mode happens to work today, but only by accident (filterByDirectDeps matches against allDependencies, which includes projectDependencies -- the bug surface is one step removed). Root cause: ClasspathImpl.filterByPlusOne resolves the direct-dep key set from UpdateReport, which only contains externally resolved (LM) modules. Internal project refs never appear there, so resolvedDirectKeys is empty for internal entries; plusOneKeys is likewise empty; the final filter strips every internal classpath entry whose moduleIDStr identifies an internal project. Diagnosis on the issue by eureka0928. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| actions | ||
| apiinfo | ||
| cache | ||
| classloader-cache | ||
| compiler-project | ||
| console | ||
| dependency-graph | ||
| dependency-management | ||
| ivy-deps-management/update-classifiers-snapshot-srcs | ||
| java | ||
| lm-coursier | ||
| nio | ||
| package | ||
| plugins | ||
| project | ||
| project-load | ||
| project-matrix | ||
| project1/global-plugin | ||
| reporter | ||
| run | ||
| server | ||
| source-dependencies | ||
| tests | ||
| watch | ||