Thanks Gintas,it was still on my todo-list to commit this to the master branch 
as well.

Maarten

      Van: "gin...@apache.org" <gin...@apache.org>
 Aan: notificati...@ant.apache.org 
 Verzonden: donderdag 26 juli 18:07 2018
 Onderwerp: [1/2] ant git commit: The <modified> selector has a new built-in 
algorithm 'lastmodified' which computes a value based upon the lastmodified 
time of the file.
   
Repository: ant
Updated Branches:
  refs/heads/master f6919079d -> 5d8bc76b1


The <modified> selector has a new built-in algorithm 'lastmodified' which 
computes a value based upon the lastmodified time of the file.


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

Branch: refs/heads/master
Commit: 05c88a60c2f8b427f3d3d4d9fbd5f71a05c6355b
Parents: 23a5135
Author: Maarten Coene <maart...@apache.org>
Authored: Wed Jul 25 13:55:48 2018 +0200
Committer: Maarten Coene <maart...@apache.org>
Committed: Wed Jul 25 13:55:48 2018 +0200

----------------------------------------------------------------------
 WHATSNEW                                        |  2 +
 manual/Types/selectors.html                    |  7 +++
 .../modifiedselector/LastModifiedAlgorithm.java | 53 ++++++++++++++++++++
 .../modifiedselector/ModifiedSelector.java      |  6 ++-
 4 files changed, 66 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ant/blob/05c88a60/WHATSNEW
----------------------------------------------------------------------
diff --git a/WHATSNEW b/WHATSNEW
index 357168a..28977da 100644
--- a/WHATSNEW
+++ b/WHATSNEW
@@ -6,6 +6,8 @@ Other changes:
  * generatekey task now supports SubjectAlternativeName during key
    generation.
 
+ * the <modified> selector has a new built-in algorithm 'lastmodified'
+  which computes a value based upon the lastmodified time of the file.
 
 Changes from Ant 1.9.12 TO Ant 1.9.13
 =====================================

http://git-wip-us.apache.org/repos/asf/ant/blob/05c88a60/manual/Types/selectors.html
----------------------------------------------------------------------
diff --git a/manual/Types/selectors.html b/manual/Types/selectors.html
index 402c711..c260efd 100644
--- a/manual/Types/selectors.html
+++ b/manual/Types/selectors.html
@@ -742,6 +742,7 @@
                <li> hashvalue - HashvalueAlgorithm </li>
                <li> digest - DigestAlgorithm </li>
                <li> checksum - ChecksumAlgorithm </li>
+                <li> lastmodified - LastModifiedAlgorithm </li>
            </ul>
        </td>
        <td valign="top" align="center"> No, defaults to <i>digest</i> </td>
@@ -869,6 +870,12 @@
          </ul>
        </td>
      </tr>
+      <tr>
+        <td valign="top"> lastmodified </td>
+        <td valign="top"> Uses the lastModified property of a file. No 
additional
+          configuration is required.
+        </td>
+      </tr>
      <tr><td colspan="2"><font size="+1"><b> Cache options 
</b></font></td></tr>
      <tr>
        <td valign="top"> propertyfile </td>

http://git-wip-us.apache.org/repos/asf/ant/blob/05c88a60/src/main/org/apache/tools/ant/types/selectors/modifiedselector/LastModifiedAlgorithm.java
----------------------------------------------------------------------
diff --git 
a/src/main/org/apache/tools/ant/types/selectors/modifiedselector/LastModifiedAlgorithm.java
 
b/src/main/org/apache/tools/ant/types/selectors/modifiedselector/LastModifiedAlgorithm.java
new file mode 100644
index 0000000..af8358a
--- /dev/null
+++ 
b/src/main/org/apache/tools/ant/types/selectors/modifiedselector/LastModifiedAlgorithm.java
@@ -0,0 +1,53 @@
+/*
+ *  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
+ *
+ *      http://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.
+ *
+ */
+
+package org.apache.tools.ant.types.selectors.modifiedselector;
+
+import java.io.File;
+
+/**
+ * Computes a 'timestamp' of file based on the lastModified time of that file.
+ *
+ * @version 2018-07-25
+ * @since  Ant 1.10.6 and 1.9.14
+ */
+public class LastModifiedAlgorithm implements Algorithm {
+
+    /**
+    * This algorithm doesn't need any configuration.
+    * Therefore it's always valid.
+    * @return always true
+    */
+    public boolean isValid() {
+        return true;
+    }
+
+    /**
+    * Computes a 'timestamp' for a file based on the lastModified time.
+    * @param file  The file for which the value should be computed
+    * @return the timestamp or <i>null</i> if the timestamp couldn't be 
computed
+    */
+    public String getValue(File file) {
+        long lastModified = file.lastModified();
+        if (lastModified == 0L) {
+            return null;
+        }
+
+        return Long.toString(lastModified);
+    }
+}

http://git-wip-us.apache.org/repos/asf/ant/blob/05c88a60/src/main/org/apache/tools/ant/types/selectors/modifiedselector/ModifiedSelector.java
----------------------------------------------------------------------
diff --git 
a/src/main/org/apache/tools/ant/types/selectors/modifiedselector/ModifiedSelector.java
 
b/src/main/org/apache/tools/ant/types/selectors/modifiedselector/ModifiedSelector.java
index c1bcac7..bec1210 100644
--- 
a/src/main/org/apache/tools/ant/types/selectors/modifiedselector/ModifiedSelector.java
+++ 
b/src/main/org/apache/tools/ant/types/selectors/modifiedselector/ModifiedSelector.java
@@ -321,6 +321,8 @@ public class ModifiedSelector extends BaseExtendSelector
                algorithm = new DigestAlgorithm();
            } else if ("checksum".equals(algoName.getValue())) {
                algorithm = new ChecksumAlgorithm();
+            } else if ("lastmodified".equals(algoName.getValue())) {
+                algorithm = new LastModifiedAlgorithm();
            }
        } else {
            if (algorithmClass != null) {
@@ -928,7 +930,7 @@ public class ModifiedSelector extends BaseExtendSelector
 
    /**
      * The enumerated type for algorithm.
-    * The values are "hashValue", "digest" and "checksum".
+    * The values are "hashValue", "digest", "checksum" and "lastmodified".
      */
    public static class AlgorithmName extends EnumeratedAttribute {
        /**
@@ -936,7 +938,7 @@ public class ModifiedSelector extends BaseExtendSelector
          * @see EnumeratedAttribute#getValues()
          */
        public String[] getValues() {
-            return new String[] {"hashvalue", "digest", "checksum"};
+            return new String[] {"hashvalue", "digest", "checksum", 
"lastmodified"};
        }
    }
 



   

Reply via email to