summaryrefslogtreecommitdiff
path: root/qpid/java/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'qpid/java/plugins')
-rw-r--r--qpid/java/plugins/src/main/java/org/apache/qpid/plugins/JythonMojo.java36
1 files changed, 36 insertions, 0 deletions
diff --git a/qpid/java/plugins/src/main/java/org/apache/qpid/plugins/JythonMojo.java b/qpid/java/plugins/src/main/java/org/apache/qpid/plugins/JythonMojo.java
index 1788f471d7..50af9c257e 100644
--- a/qpid/java/plugins/src/main/java/org/apache/qpid/plugins/JythonMojo.java
+++ b/qpid/java/plugins/src/main/java/org/apache/qpid/plugins/JythonMojo.java
@@ -21,6 +21,7 @@
package org.apache.qpid.plugins;
import java.io.File;
+import java.io.IOException;
import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;
@@ -46,9 +47,44 @@ public class JythonMojo extends AbstractMojo
*/
private String[] params = new String[0];
+ /**
+ * Source file.
+ *
+ * @parameter
+ */
+ private File source;
+
+ /**
+ * Optional timestamp.
+ *
+ * @parameter
+ */
+ private File timestamp;
+
public void execute() throws MojoExecutionException
{
+ if (source != null && timestamp != null)
+ {
+ if (timestamp.lastModified() > source.lastModified())
+ {
+ return;
+ }
+ }
+
jython.main(params);
+
+ if (timestamp != null)
+ {
+ try
+ {
+ timestamp.createNewFile();
+ }
+ catch (IOException e)
+ {
+ throw new MojoExecutionException("cannot create timestamp", e);
+ }
+ timestamp.setLastModified(System.currentTimeMillis());
+ }
}
}