Skip to content
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

Don't emit timestamps when packaging to jar, take 2 #5344

merged 6 commits into from Dec 29, 2019


Copy link

eed3si9n commented Dec 29, 2019

This is a resend of #5233

original description

This is a continuation of the work in sbt/io#58 , which I decided to get back into partly because Maven has been adding features to the core plugins, and it would be good to be on par :).

As discussed in sbt/io#58, we should be careful about the risk of breaking incremental builds - I haven't found any such issues yet though. Note that this PR only affects the timestamps of entries in jars: timestamps of classes on the filesystem and the filesystem timestamp of the jar itself are not affected.

Discussing this with @eed3si9n, there could be special-purposes build configurations that (for example in order to avoid deleting/creating many files) compile classes directly into a jar rather than first to individual files. I haven't seen this configuration yet, but I suspect it wouldn't use Defaults.packageTask, but a custom Package/IO invocation. Any custom build configuration that requires non-static timestamps can pass None as the time parameter to keep the original behavior.

This PR requires sbt/io#279

@eed3si9n eed3si9n merged commit bf9225b into sbt:develop Dec 29, 2019
3 checks passed
3 checks passed
continuous-integration/appveyor/pr AppVeyor build succeeded
continuous-integration/travis-ci/pr The Travis CI build passed
typesafe-cla-validator All users have signed the CLA
@eed3si9n eed3si9n deleted the eed3si9n:wip/repeatable branch Dec 29, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
None yet
2 participants
You can’t perform that action at this time.