mirror of https://github.com/sbt/sbt.git
When a file referenced by a task's inputs/outputs (e.g. `Compile / resources +=
file("nope.txt")`) does not exist, hashing the task's cache key threw a
NoSuchFileException deep inside sjsonnew serialization. It surfaced as an opaque
sjsonnew.SerializationException that dumped the entire input list, with the real
cause buried several `Caused by:` levels down, so users routinely mistook it for
a corrupt cache and reached for `clean`.
ActionCache.mkInput now catches the hashing failure, detects a NoSuchFileException
anywhere in the cause chain (ActionCache.findMissingFile), and throws a
MessageOnlyException naming the file:
[error] file referenced by the build does not exist: nope.txt
util-cache gains a dependency on util-control (a leaf module, no cycle) for
MessageOnlyException.
Fixes #9217.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
||
|---|---|---|
| .. | ||
| 1.0.0 | ||
| 1.0.3 | ||
| 1.1.2 | ||
| 1.1.4 | ||
| 1.1.5 | ||
| 1.2.0 | ||
| 1.3.0 | ||
| 1.6.0 | ||
| 1.7.0 | ||
| 1.8.0 | ||
| 2.0.0 | ||
| 0.10.0.markdown | ||
| 0.10.1.markdown | ||
| 0.11.0.markdown | ||
| 0.11.3.markdown | ||
| 0.13.6.markdown | ||
| 0.13.7.markdown | ||
| 0.13.8.markdown | ||
| 0.13.9.markdown | ||
| 0.13.11.markdown | ||
| 0.13.12.markdown | ||
| 0.13.13.markdown | ||
| 0.13.14.markdown | ||
| 0.13.16.markdown | ||
| 1.0.0.markdown | ||
| 1.0.1.markdown | ||
| 1.0.2.markdown | ||
| 1.0.3.markdown | ||
| 1.0.4.markdown | ||
| 1.1.0.markdown | ||
| 1.1.1.markdown | ||
| about.markdown | ||
| sample.md | ||