FYI, I have expanded upon this for my debug version as well:
This adds a timestamp to ever every js reference provided in the debug output
to hopefully thwart the cache. I’ve been having to clear my cache a lot lately,
and I’m hoping this removes the need.
<plugin>
<groupId>com.google.code.maven-replacer-plugin</groupId>
<artifactId>replacer</artifactId>
<version>1.5.3</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>replace</goal>
</goals>
</execution>
</executions>
<configuration>
<ignoreMissingFile>false</ignoreMissingFile>
<file>${basedir}/target/javascript/bin/js-debug/index.html</file>
<replacements>
<replacement>
<token><![CDATA[((goog\.addDependency)(.)*)(\.js)]]></token>
<value><![CDATA[$1.js?v=${timestamp}]]></value>
</replacement>
<replacement>
<token><![CDATA[App.css]]></token>
<value><![CDATA[App.css?v=${timestamp}]]></value>
</replacement>
</replacements>
</configuration>
</plugin>
From: Carlos Rovira <[email protected]>
Sent: Thursday, January 14, 2021 1:27 AM
To: [email protected]
Subject: Re: [EXTERNAL] CSS & JS file versioning
Thanks Brian,
very useful!
Not related, but as well useful, I use maven's build timestamp with defines to
get it in AS3 in the following way:
https://github.com/codeoscopic/avant2-website/blob/b97c62fb583e850e7190b28396e75adb3e7bf22a/avant2-products-companies/pom.xml#L169
Best,
Carlos
El mar, 12 ene 2021 a las 19:01, Brian Raymes
(<[email protected]<mailto:[email protected]>>) escribió:
As others have stated, there are other ways to do this. Here is how I’m doing
it with maven:
In my case, I’m currently using a timestamp to try to avoid caching. Feel free
to replace with a version, etc.
This will update the template and build time.
<properties>
<timestamp>${maven.build.timestamp}</timestamp>
</properties>
<plugin>
<groupId>com.google.code.maven-replacer-plugin</groupId>
<artifactId>replacer</artifactId>
<version>1.5.3</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>replace</goal>
</goals>
</execution>
</executions>
<configuration>
<ignoreMissingFile>false</ignoreMissingFile>
<file>${basedir}/target/javascript/bin/js-debug/index.html</file>
<replacements>
<replacement>
<token><![CDATA[App.js]]></token>
<value><![CDATA[App.js?v=${timestamp}]]></value>
</replacement>
<replacement>
<token><![CDATA[App.css]]></token>
<value><![CDATA[App.css?v=${timestamp}]]></value>
</replacement>
</replacements>
</configuration>
</plugin>
Brian
From: lol lol <[email protected]<mailto:[email protected]>>
Sent: Tuesday, January 12, 2021 1:47 AM
To: [email protected]<mailto:[email protected]>
Subject: [EXTERNAL] CSS & JS file versioning
Hi All,
Is there any possibility defined that lets me define my own placeholders in the
html-template?
For example im using an html template with the following line
<link rel="stylesheet" type="text/css" href="${application}.css">
Is there anything helpful already existing in the compiler so I can add a
version to my css like so:
href="${application}?v=12345678" />
Thank!
--
Carlos Rovira
Apache Member & Apache Royale PMC
Apache Software Foundation
http://about.me/carlosrovira