diff --git a/pom.xml b/pom.xml
index a54bfd76..03fead69 100644
--- a/pom.xml
+++ b/pom.xml
@@ -507,14 +507,6 @@
target/generated-sources/wro4j/
static
-
- src/main/script/
-
- *.js
-
- js
- true
-
diff --git a/src/main/java/com/commafeed/frontend/resources/TimestampProcessor.java b/src/main/java/com/commafeed/frontend/resources/TimestampProcessor.java
new file mode 100644
index 00000000..5a5ccbc4
--- /dev/null
+++ b/src/main/java/com/commafeed/frontend/resources/TimestampProcessor.java
@@ -0,0 +1,29 @@
+package com.commafeed.frontend.resources;
+
+import java.io.IOException;
+import java.io.Reader;
+import java.io.Writer;
+import java.util.Calendar;
+
+import org.apache.commons.io.IOUtils;
+
+import ro.isdc.wro.model.resource.Resource;
+import ro.isdc.wro.model.resource.ResourceType;
+import ro.isdc.wro.model.resource.SupportedResourceType;
+import ro.isdc.wro.model.resource.processor.ResourcePreProcessor;
+
+@SupportedResourceType(ResourceType.JS)
+public class TimestampProcessor implements ResourcePreProcessor {
+
+ private static final String NOW = ""
+ + Calendar.getInstance().getTimeInMillis();
+
+ @Override
+ public void process(Resource resource, Reader reader, Writer writer)
+ throws IOException {
+ String content = IOUtils.toString(reader);
+ content = content.replace("${timestamp}", NOW);
+ writer.write(content);
+ }
+
+}
diff --git a/src/main/java/com/commafeed/frontend/resources/WroSassProvider.java b/src/main/java/com/commafeed/frontend/resources/WroAdditionalProvider.java
similarity index 83%
rename from src/main/java/com/commafeed/frontend/resources/WroSassProvider.java
rename to src/main/java/com/commafeed/frontend/resources/WroAdditionalProvider.java
index 216dfe61..9a07e8dd 100644
--- a/src/main/java/com/commafeed/frontend/resources/WroSassProvider.java
+++ b/src/main/java/com/commafeed/frontend/resources/WroAdditionalProvider.java
@@ -12,13 +12,14 @@ import com.google.api.client.util.Maps;
* Build-time solution
*
*/
-public class WroSassProvider implements ProcessorProvider {
+public class WroAdditionalProvider implements ProcessorProvider {
@Override
public Map providePreProcessors() {
Map map = Maps.newHashMap();
map.put("sassOnlyProcessor", new SassOnlyProcessor());
map.put("sassImport", new SassImportProcessor());
+ map.put("timestamp", new TimestampProcessor());
return map;
}
diff --git a/src/main/java/com/commafeed/frontend/resources/WroManagerFactory.java b/src/main/java/com/commafeed/frontend/resources/WroManagerFactory.java
index 2fe8d601..f96df571 100644
--- a/src/main/java/com/commafeed/frontend/resources/WroManagerFactory.java
+++ b/src/main/java/com/commafeed/frontend/resources/WroManagerFactory.java
@@ -15,6 +15,7 @@ public class WroManagerFactory extends ConfigurableWroManagerFactory {
protected void contributePreProcessors(Map map) {
map.put("sassOnlyProcessor", new SassOnlyProcessor());
map.put("sassImport", new SassImportProcessor());
+ map.put("timestamp", new TimestampProcessor());
}
}
diff --git a/src/main/resources/META-INF/services/ro.isdc.wro.model.resource.processor.support.ProcessorProvider b/src/main/resources/META-INF/services/ro.isdc.wro.model.resource.processor.support.ProcessorProvider
index f1b77741..92fe1ed8 100644
--- a/src/main/resources/META-INF/services/ro.isdc.wro.model.resource.processor.support.ProcessorProvider
+++ b/src/main/resources/META-INF/services/ro.isdc.wro.model.resource.processor.support.ProcessorProvider
@@ -1 +1 @@
-com.commafeed.frontend.resources.WroSassProvider
\ No newline at end of file
+com.commafeed.frontend.resources.WroAdditionalProvider
\ No newline at end of file
diff --git a/src/main/webapp/WEB-INF/wro.properties b/src/main/webapp/WEB-INF/wro.properties
index a6606977..0745b4a0 100644
--- a/src/main/webapp/WEB-INF/wro.properties
+++ b/src/main/webapp/WEB-INF/wro.properties
@@ -10,7 +10,7 @@ jmxEnabled=false
managerFactoryClassName=com.commafeed.frontend.resources.WroManagerFactory
#List of preProcessors
-preProcessors=cssUrlRewriting,sassImport,semicolonAppender,googleClosureSimple,sassOnlyProcessor,cssMin
+preProcessors=timestamp,cssUrlRewriting,sassImport,semicolonAppender,googleClosureSimple,sassOnlyProcessor,cssMin
#List of postProcessors
postProcessors=
diff --git a/src/main/script/template-loader.js b/src/main/webapp/js/template-loader.js
similarity index 100%
rename from src/main/script/template-loader.js
rename to src/main/webapp/js/template-loader.js