diff --git a/CONTRIBUTORS b/CONTRIBUTORS index e721b2ffe..708f503cc 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -309,6 +309,7 @@ Miha Mike Davis Mike Roberts Mike Williams +Mikolaj Izdebski Miroslav Zaťko Mounir El Hajj Nathan Beyer diff --git a/WHATSNEW b/WHATSNEW index b6476f61b..67c8f001a 100644 --- a/WHATSNEW +++ b/WHATSNEW @@ -25,6 +25,10 @@ Fixed bugs: timestamps of files transferred recursively from a server. Bugzilla Report 66001 + * tstamp task would in certain cases parse the SOURCE_DATE_EPOCH environment variable + value to an incorrect date. This has now been fixed. + Github Pull Request #186 + Other changes: -------------- diff --git a/contributors.xml b/contributors.xml index f0f5197c7..ddc55ecc8 100644 --- a/contributors.xml +++ b/contributors.xml @@ -1280,6 +1280,10 @@ Mike Williams + + Mikolaj + Izdebski + Miroslav Zaťko diff --git a/src/main/org/apache/tools/ant/taskdefs/Tstamp.java b/src/main/org/apache/tools/ant/taskdefs/Tstamp.java index aa1034eae..ca10efe00 100644 --- a/src/main/org/apache/tools/ant/taskdefs/Tstamp.java +++ b/src/main/org/apache/tools/ant/taskdefs/Tstamp.java @@ -82,7 +82,7 @@ public class Tstamp extends Task { try { if (epoch != null) { // Value of SOURCE_DATE_EPOCH will be an integer, representing seconds. - d = new Date(Integer.parseInt(epoch) * 1000); + d = new Date(Long.parseLong(epoch) * 1000L); log("Honouring environment variable " + ENV_SOURCE_DATE_EPOCH + " which has been set to " + epoch); } } catch(NumberFormatException e) { diff --git a/src/tests/antunit/taskdefs/tstamp-test.xml b/src/tests/antunit/taskdefs/tstamp-test.xml index 20c322762..1553d32ee 100644 --- a/src/tests/antunit/taskdefs/tstamp-test.xml +++ b/src/tests/antunit/taskdefs/tstamp-test.xml @@ -75,4 +75,35 @@ public class IsEpochIn1969Here implements Condition { + + + + + + + + + + + + + + + +