process timestamps at build time

This commit is contained in:
Athou
2013-05-18 18:50:22 +02:00
parent 07402e584a
commit 868016865a
7 changed files with 34 additions and 11 deletions

View File

@@ -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);
}
}

View File

@@ -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<String, ResourcePreProcessor> providePreProcessors() {
Map<String, ResourcePreProcessor> map = Maps.newHashMap();
map.put("sassOnlyProcessor", new SassOnlyProcessor());
map.put("sassImport", new SassImportProcessor());
map.put("timestamp", new TimestampProcessor());
return map;
}

View File

@@ -15,6 +15,7 @@ public class WroManagerFactory extends ConfigurableWroManagerFactory {
protected void contributePreProcessors(Map<String, ResourcePreProcessor> map) {
map.put("sassOnlyProcessor", new SassOnlyProcessor());
map.put("sassImport", new SassImportProcessor());
map.put("timestamp", new TimestampProcessor());
}
}