You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by bo...@apache.org on 2017/05/08 16:46:16 UTC

[3/3] ant git commit: Merge branch '1.9.x'

Merge branch '1.9.x'


Project: http://git-wip-us.apache.org/repos/asf/ant/repo
Commit: http://git-wip-us.apache.org/repos/asf/ant/commit/966708a2
Tree: http://git-wip-us.apache.org/repos/asf/ant/tree/966708a2
Diff: http://git-wip-us.apache.org/repos/asf/ant/diff/966708a2

Branch: refs/heads/master
Commit: 966708a294a4b731ebfafe4af5da776969919f89
Parents: 2ec41af 7c6c749
Author: Stefan Bodewig <bo...@apache.org>
Authored: Mon May 8 18:45:59 2017 +0200
Committer: Stefan Bodewig <bo...@apache.org>
Committed: Mon May 8 18:45:59 2017 +0200

----------------------------------------------------------------------
 WHATSNEW                                        |  4 +++
 manual/Tasks/tstamp.html                        |  6 +++++
 manual/running.html                             |  5 ++++
 src/main/org/apache/tools/ant/MagicNames.java   | 13 ++++++++++
 .../org/apache/tools/ant/taskdefs/Tstamp.java   | 19 +++++++++++++-
 src/tests/antunit/taskdefs/tstamp-test.xml      | 27 ++++++++++++++++++++
 6 files changed, 73 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ant/blob/966708a2/WHATSNEW
----------------------------------------------------------------------
diff --cc WHATSNEW
index b552951,aa2ad03..ba2213e
--- a/WHATSNEW
+++ b/WHATSNEW
@@@ -28,15 -18,12 +28,19 @@@ Other changes
   * added "regexp" attribute to <linecontainsregexp>
     Bugzilla Report 60968
  
 + * reduced GC pressure by replacing all usage of FileInputStream and
 +   FileOutputStream.
 +
 + * Task can now also use attribute setters that expect a
 +   java.nio.file.Path argument.
 +   Bugzilla Report 61042
 +
+  * added a new magic property ant.tstamp.now that can be used to
+    override the current time/date used by <tstamp>.
+    Bugzilla Report 61079
+ 
 -Changes from Ant 1.9.8 TO Ant 1.9.9
 -===================================
 +Changes from Ant 1.10.0 TO Ant 1.10.1
 +=====================================
  
  Fixed bugs:
  -----------

http://git-wip-us.apache.org/repos/asf/ant/blob/966708a2/manual/Tasks/tstamp.html
----------------------------------------------------------------------
diff --cc manual/Tasks/tstamp.html
index 82812a5,6baa0c8..c9a83c9
--- a/manual/Tasks/tstamp.html
+++ b/manual/Tasks/tstamp.html
@@@ -40,6 -40,12 +40,12 @@@ time-stamped filenames, or used to repl
  to indicate, for example, the release date. The best place for this task is
  probably in an initialization target.</p>
  
 -<p><em>Since Ant 1.9.10</em> the magic
++<p><em>Since Ant 1.10.2</em> the magic
+   property <code>ant.tstamp.now</code> can be used to specify a fixed
+   date value in order to create reproducible builds. Its value must be
+   a number and is interpreted as seconds since the epoch (midnight
+   1970-01-01).</p>
+ 
  <h3>Parameters</h3>
  <table border="1" cellpadding="2" cellspacing="0">
    <tr>

http://git-wip-us.apache.org/repos/asf/ant/blob/966708a2/src/main/org/apache/tools/ant/MagicNames.java
----------------------------------------------------------------------
diff --cc src/main/org/apache/tools/ant/MagicNames.java
index 336c3bc,67ab8a8..5f6aec9
--- a/src/main/org/apache/tools/ant/MagicNames.java
+++ b/src/main/org/apache/tools/ant/MagicNames.java
@@@ -295,5 -289,18 +295,18 @@@ public final class MagicNames 
       * Value {@value}
       */
      public static final String HTTP_AGENT_PROPERTY = "ant.http.agent";
+ 
+     /**
+      * Magic property that can be set to contain a value for tstamp's
+      * "now" in order to make builds that use the task create
+      * reproducible results.
+      *
+      * <p>The value is expected to be a number representing the date
+      * as seconds since the epoch.</p>
+      *
+      * Value: {@value}
 -     * @since Ant 1.9.10
++     * @since Ant 1.10.2
+      */
+     public static final String TSTAMP_NOW = "ant.tstamp.now";
  }
  

http://git-wip-us.apache.org/repos/asf/ant/blob/966708a2/src/main/org/apache/tools/ant/taskdefs/Tstamp.java
----------------------------------------------------------------------
diff --cc src/main/org/apache/tools/ant/taskdefs/Tstamp.java
index 0610c39,a6a35d7..98dd779
--- a/src/main/org/apache/tools/ant/taskdefs/Tstamp.java
+++ b/src/main/org/apache/tools/ant/taskdefs/Tstamp.java
@@@ -66,12 -67,15 +67,12 @@@ public class Tstamp extends Task 
       * the standard ones, to get their retaliation in early.
       * @throws BuildException on error.
       */
 +    @Override
      public void execute() throws BuildException {
          try {
-             Date d = new Date();
+             Date d = getNow();
  
 -            Enumeration i = customFormats.elements();
 -            while (i.hasMoreElements()) {
 -                CustomFormat cts = (CustomFormat) i.nextElement();
 -                cts.execute(getProject(), d, getLocation());
 -            }
 +            customFormats.forEach(cts -> cts.execute(getProject(), d, getLocation()));
  
              SimpleDateFormat dstamp = new SimpleDateFormat ("yyyyMMdd");
              setProperty("DSTAMP", dstamp.format(d));