-
Notifications
You must be signed in to change notification settings - Fork 224
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
caching (sbt assembly touches target jar file even when source code doesn't change) #59
Comments
You want sbt-assembly to produce a file only when it hasn't changed since the last time it built it? Rather than embedding this logic into sbt-assembly, I think this is something that should be solved at sbt level perhaps reusing the logic from trigged execution. /cc @harrah |
@eed3si9n I think it is reasonable for assembly to only rebuild the assembly if any of the timestamps of the inputs have changed. This is what sbt does for making jars, for example. See FileFunction for caching basic |
@harrah Is caching done in-memory or using files? In other words, would package/assembly across multiple runs of sbt still be cached? |
@eed3si9n files. The cache information is stored in a file. You could imagine a special task (similar to streams) being available to give every task its own unique cache file, but you have to manually construct it right now. |
released 0.8.5 with this feature. |
Awesome! Thanks, --Adam |
caching is optional for 0.8.6: assemblyCacheOutput in assembly := true |
I want to use sbt assembly in conjunction with a bigger build process that is managed by make so it would nice if the timestamp on the jar that sbt-assembly produces would only change when necessary.
The text was updated successfully, but these errors were encountered: