On Wed, 29 Jan 2020 08:58:47 GMT, Bernhard M. Wiedemann <github.com+637990+bmwiedem...@openjdk.org> wrote:
> Allow to override buildDate with `SOURCE_DATE_EPOCH` > in order to make builds reproducible. > See https://reproducible-builds.org/ for why this is good > and https://reproducible-builds.org/specs/source-date-epoch/ > for the definition of this variable. > > This PR was done while working on reproducible builds for openSUSE. Finally getting to this (sorry for the delay). This seems OK to me, as it is not an intrusive change. I do not think that actually setting this property for production builds is a good idea, so I recommend against that (ultimately that will be up to Gluon or whoever produces builds). I'll test it once you change it from an env variable to a gradle property. build.gradle line 542: > 541: > 542: def buildDate = System.getenv("SOURCE_DATE_EPOCH") == null ? new > java.util.Date() : new java.util.Date(1000 * > Long.parseLong(System.getenv("SOURCE_DATE_EPOCH"))) > 543: def buildTimestamp = new > java.text.SimpleDateFormat("yyyy-MM-dd-HHmmss").format(buildDate) This should be defined as a gradle property using `defineProperty` like this: defineProperty("SOURCE_DATE_EPOCH", "") You can then test for `SOURCE_DATE_EPOCH == ""` You would pass it into the build via `gradle -PSOURCE_DATE_EPOCH=...` I also recommend wrapping the line since it's pretty long. While you are at it, can you add `BUILD_TIMESTAMP` to the list of properties that are logged? Look for `log.quiet`. ------------- PR: https://git.openjdk.java.net/jfx/pull/99