| <!DOCTYPE html> |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| https://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| <html lang="en"> |
| |
| <head> |
| <link rel="stylesheet" type="text/css" href="../stylesheets/style.css"> |
| <title>TStamp Task</title> |
| </head> |
| |
| <body> |
| |
| <h2 id="tstamp">Tstamp</h2> |
| |
| <h3>Description</h3> |
| <p>Sets the <code>DSTAMP</code>, <code>TSTAMP</code>, and <code>TODAY</code> properties in the |
| current project. By default, the <code>DSTAMP</code> property is in the |
| format <q>yyyyMMdd</q>, <code>TSTAMP</code> is in the format <q>hhmm</q>, and <code>TODAY</code> is |
| in the format <q>MMMM dd yyyy</q>. Use the nested <code><format></code> element to specify a |
| different format.</p> |
| |
| <p>These properties can be used in the build file, for instance, to create timestamped filenames, or |
| used to replace placeholder tags inside documents 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.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). With <code>ant.tstamp.now.iso</code> |
| you could also specify that value in ISO-8601 format (<code>1972-04-17T08:07:00Z</code>). If you |
| specify a value in an invalid format an INFO message will be logged and the value will be |
| ignored.</p> |
| |
| <p> |
| <em>Since Ant 1.10.8</em> the <code>SOURCE_DATE_EPOCH</code> environment variable value (if set) |
| will be honoured for <a href="https://reproducible-builds.org/specs/source-date-epoch/#idm55">reproducible builds</a>. |
| Ant will log a DEBUG message if an invalid value (value that cannot be parsed to an integer), is specified |
| for that environment variable and will instead use the "current" date. |
| </p> |
| |
| <h3>Parameters</h3> |
| <table class="attr"> |
| <tr> |
| <th scope="col">Attribute</th> |
| <th scope="col">Description</th> |
| <th scope="col">Required</th> |
| </tr> |
| <tr> |
| <td>prefix</td> |
| <td>Prefix used for all properties set.</td> |
| <td>No; default is no prefix</td> |
| </tr> |
| </table> |
| |
| <h3>Parameters specified as nested elements</h3> |
| <p>The task supports a <code><format></code> nested element that allows a property to be set |
| to the current date and time in a given format. The date/time patterns are as defined in the |
| Java <a href="https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html" |
| target="_top">SimpleDateFormat</a> class. The format element also allows offsets to be applied to |
| the time to generate different time values.</p> |
| <table class="attr"> |
| <tr> |
| <th scope="col">Attribute</th> |
| <th scope="col">Description</th> |
| <th scope="col">Required</th> |
| </tr> |
| <tr> |
| <td>property</td> |
| <td>The property to receive the date/time string in the given pattern.</td> |
| <td>Yes</td> |
| </tr> |
| <tr> |
| <td>pattern</td> |
| <td>The date/time pattern to be used. The values are as defined by the Java SimpleDateFormat |
| class.</td> |
| <td>Yes</td> |
| </tr> |
| <tr> |
| <td>timezone</td> |
| <td>The timezone to use for displaying time. The values are as defined by the |
| Java <a href="https://docs.oracle.com/javase/8/docs/api/java/util/TimeZone.html" |
| target="_top">TimeZone</a> class.</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>offset</td> |
| <td>The numeric offset to the current time</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>unit</td> |
| <td>The unit of the offset to be applied to the current time. Valid values are |
| <ul> |
| <li><q>millisecond</q></li> |
| <li><q>second</q></li> |
| <li><q>minute</q></li> |
| <li><q>hour</q></li> |
| <li><q>day</q></li> |
| <li><q>week</q></li> |
| <li><q>month</q></li> |
| <li><q>year</q></li> |
| </ul> |
| </td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>locale</td> |
| <td>The locale used to create date/time string. The general form is <q>language[, country[, |
| variant]]</q> (either <q>variant</q> or both <q>variant</q> and <q>country</q> may be |
| omitted). For more information please refer to documentation for |
| the <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Locale.html" |
| target="_top">Locale</a> class.</td> |
| <td>No</td> |
| </tr> |
| </table> |
| |
| <h3>Examples</h3> |
| |
| <p>Set the standard <code>DSTAMP</code>, <code>TSTAMP</code>, and <code>TODAY</code> properties |
| according to the default formats.</p> |
| <pre><tstamp/></pre> |
| |
| <p>Set the standard properties as well as the property <code>TODAY_UK</code> with the date/time |
| pattern <q>d-MMMM-yyyy</q> using English locale (eg. 21-May-2001).</p> |
| <pre> |
| <tstamp> |
| <format property="TODAY_GB" pattern="d-MMMM-yyyy" locale="en,GB"/> |
| </tstamp></pre> |
| |
| <p>Create a timestamp, in the property <code>touch.time</code>, 5 hours before the current time. The |
| format in this example is suitable for use with the <code><touch></code> task. The standard |
| properties are set also.</p> |
| <pre> |
| <tstamp> |
| <format property="touch.time" pattern="MM/dd/yyyy hh:mm aa" |
| offset="-5" unit="hour"/> |
| </tstamp></pre> |
| |
| <p>Set three properties with the standard formats, prefixed |
| with <q>start.</q>: <code>start.DSTAMP</code>, <code>start.TSTAMP</code>, |
| and <code>start.TODAY</code>.</p> |
| <pre><tstamp prefix="start"/></pre> |
| |
| </body> |
| </html> |