mirror of
https://github.com/Athou/commafeed.git
synced 2026-03-21 21:37:29 +00:00
process timestamps at build time
This commit is contained in:
8
pom.xml
8
pom.xml
@@ -507,14 +507,6 @@
|
|||||||
<directory>target/generated-sources/wro4j/</directory>
|
<directory>target/generated-sources/wro4j/</directory>
|
||||||
<targetPath>static</targetPath>
|
<targetPath>static</targetPath>
|
||||||
</resource>
|
</resource>
|
||||||
<resource>
|
|
||||||
<directory>src/main/script/</directory>
|
|
||||||
<includes>
|
|
||||||
<include>*.js</include>
|
|
||||||
</includes>
|
|
||||||
<targetPath>js</targetPath>
|
|
||||||
<filtering>true</filtering>
|
|
||||||
</resource>
|
|
||||||
</webResources>
|
</webResources>
|
||||||
</configuration>
|
</configuration>
|
||||||
</plugin>
|
</plugin>
|
||||||
|
|||||||
@@ -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);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -12,13 +12,14 @@ import com.google.api.client.util.Maps;
|
|||||||
* Build-time solution
|
* Build-time solution
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public class WroSassProvider implements ProcessorProvider {
|
public class WroAdditionalProvider implements ProcessorProvider {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<String, ResourcePreProcessor> providePreProcessors() {
|
public Map<String, ResourcePreProcessor> providePreProcessors() {
|
||||||
Map<String, ResourcePreProcessor> map = Maps.newHashMap();
|
Map<String, ResourcePreProcessor> map = Maps.newHashMap();
|
||||||
map.put("sassOnlyProcessor", new SassOnlyProcessor());
|
map.put("sassOnlyProcessor", new SassOnlyProcessor());
|
||||||
map.put("sassImport", new SassImportProcessor());
|
map.put("sassImport", new SassImportProcessor());
|
||||||
|
map.put("timestamp", new TimestampProcessor());
|
||||||
return map;
|
return map;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -15,6 +15,7 @@ public class WroManagerFactory extends ConfigurableWroManagerFactory {
|
|||||||
protected void contributePreProcessors(Map<String, ResourcePreProcessor> map) {
|
protected void contributePreProcessors(Map<String, ResourcePreProcessor> map) {
|
||||||
map.put("sassOnlyProcessor", new SassOnlyProcessor());
|
map.put("sassOnlyProcessor", new SassOnlyProcessor());
|
||||||
map.put("sassImport", new SassImportProcessor());
|
map.put("sassImport", new SassImportProcessor());
|
||||||
|
map.put("timestamp", new TimestampProcessor());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
com.commafeed.frontend.resources.WroSassProvider
|
com.commafeed.frontend.resources.WroAdditionalProvider
|
||||||
@@ -10,7 +10,7 @@ jmxEnabled=false
|
|||||||
managerFactoryClassName=com.commafeed.frontend.resources.WroManagerFactory
|
managerFactoryClassName=com.commafeed.frontend.resources.WroManagerFactory
|
||||||
|
|
||||||
#List of preProcessors
|
#List of preProcessors
|
||||||
preProcessors=cssUrlRewriting,sassImport,semicolonAppender,googleClosureSimple,sassOnlyProcessor,cssMin
|
preProcessors=timestamp,cssUrlRewriting,sassImport,semicolonAppender,googleClosureSimple,sassOnlyProcessor,cssMin
|
||||||
#List of postProcessors
|
#List of postProcessors
|
||||||
postProcessors=
|
postProcessors=
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user