Ok, I made my own plugin fork ! ;)
public abstract class AbstractSynchronizable {
.....
protected Boolean allowReload=true;
And
public abstract class UpdatableTomEEMojo extends AbstractTomEEMojo {
....
private class SynchronizerRedeployer extends TimerTask {
...
@Override
public void run() {
int updated = 0;
boolean allowReload=false;
for (final Synchronizer s : delegates) {
try {
Integer changedCount = s.call();
if ( changedCount>0 ) {
allowReload = allowReload ||
s.synchronization.allowReload;
}
updated += changedCount;
} catch (final Exception e) {
getLog().error(e.getMessage(), e);
}
}
if (updated > 0 && reloadOnUpdate && allowReload ) {
if (deployedFile != null && deployedFile.exists()) {
reload();
}
}
}
Just to add this when I don't want reload. That's working
<synch>
<source>${project.basedir}/../uft-web/src/main/webapp</source>
<target>${project.basedir}/target/apache-tomee/apps/uft-ear-${project.version}/uft-web-${project.version}/</target>
<extensions>
<extension>.css</extension>
<extension>.js</extension>
<extension>.htm</extension>
<extension>.html</extension>
</extensions>
<allowReload>false</allowReload>
</synch>
-----Original Message-----
From: Romain Manni-Bucau [mailto:[email protected]]
Sent: mardi 20 octobre 2015 17:05
To: [email protected]
Subject: Re: What a pity
Hmm
not sure I follow Yann, reloadOnUpdate is only useful when you update
classes/resources (in term of packaged resources, no web resources)
for js/html etc no need of this property at all and these ones shouldnt be in
extensions but should be in updateOnlyExtensions
Romain Manni-Bucau
@rmannibucau <https://twitter.com/rmannibucau> | Blog
<http://rmannibucau.wordpress.com> | Github <https://github.com/rmannibucau> |
LinkedIn <https://www.linkedin.com/in/rmannibucau> | Tomitriber
<http://www.tomitribe.com>
2015-10-20 17:01 GMT+02:00 Yann BLAZART <[email protected]
>:
> Hello, I'm currently make some dev with tomee, and a web app in ear.
>
> I'm using tome:run.
>
> What a pity to have a global reloadonupdate.
>
> When I change some classes, ok, but when it's static resources like
> js, the simple copy resource will be juste enough...
>
> <plugin>
> <groupId>org.apache.tomee.maven</groupId>
> <artifactId>tomee-maven-plugin</artifactId>
> <version>7.0.0-SNAPSHOT</version>
> <configuration>
> <!--<context>uft</context>-->
> <tomeeClassifier>plus</tomeeClassifier>
> <synchronizations>
> <!--<synch>-->
>
> <!--<source>${project.basedir}/../uft-web/src/main/webapp</source>-->
>
> <!--<target>${project.basedir}/target/apache-tomee/apps/uft-ear-${project.version}/uft-web-${project.version}/</target>-->
> <!--<extensions>-->
> <!--<extension>.css</extension>-->
> <!--<extension>.js</extension>-->
> <!--<extension>.htm</extension>-->
> <!--<extension>.html</extension>-->
> <!--</extensions>-->
> <!--</synch>-->
> <synch>
>
> <source>${project.basedir}/../uft-web/target/classes/</source>
>
> <target>${project.basedir}/target/apache-tomee/apps/uft-ear-${project.version}/uft-web-${project.version}/WEB-INF/classes/</target>
> <extensions>
> <extension>.class</extension>
> </extensions>
> </synch>
> <synch>
>
> <source>${project.basedir}/../uft-web/target//uft-web-${project.versio
> n}/WEB-INF/lib</source>
>
> <target>${project.basedir}/target/apache-tomee/apps/uft-ear-${project.version}/uft-web-${project.version}/WEB-INF/lib/</target>
> <extensions>
> <extension>.jar</extension>
> </extensions>
> </synch>
> <synch>
> <source>${project.basedir}/../uft-jar/target/</source>
>
> <target>${project.basedir}/target/apache-tomee/apps/uft-ear-${project.version}/</target>
> <extensions>
> <extension>.jar</extension>
> </extensions>
> </synch>
> </synchronizations>
> <synchronization>
>
> <resourcesDir>${project.basedir}/../uft-web/src/main/webapp</resources
> Dir>
>
> <targetResourcesDir>${project.basedir}/target/apache-tomee/apps/uft-ear-${project.version}/uft-web-${project.version}/</targetResourcesDir>
> <extensions>
> <extension>.css</extension>
> <extension>.js</extension>
> <extension>.htm</extension>
> <extension>.html</extension>
> </extensions>
> </synchronization>
> <reloadOnUpdate>true</reloadOnUpdate>
> </configuration>
> </plugin>
>
>
>
> This message and any attachments (the "message") is intended solely
> for the intended addressees and is confidential.
> If you receive this message in error,or are not the intended
> recipient(s), please delete it and any copies from your systems and
> immediately notify the sender. Any unauthorized view, use that does
> not comply with its purpose, dissemination or disclosure, either whole
> or partial, is prohibited. Since the internet cannot guarantee the
> integrity of this message which may not be reliable, BNP PARIBAS (and
> its subsidiaries) shall not be liable for the message if modified,
> changed or falsified.
> Do not print this message unless it is necessary,consider the environment.
>
>
> ----------------------------------------------------------------------
> ------------------------------------------------------------
>
> Ce message et toutes les pieces jointes (ci-apres le "message") sont
> etablis a l'intention exclusive de ses destinataires et sont
> confidentiels.
> Si vous recevez ce message par erreur ou s'il ne vous est pas destine,
> merci de le detruire ainsi que toute copie de votre systeme et d'en
> avertir immediatement l'expediteur. Toute lecture non autorisee, toute
> utilisation de ce message qui n'est pas conforme a sa destination,
> toute diffusion ou toute publication, totale ou partielle, est
> interdite. L'Internet ne permettant pas d'assurer l'integrite de ce
> message electronique susceptible d'alteration, BNP Paribas (et ses
> filiales) decline(nt) toute responsabilite au titre de ce message dans
> l'hypothese ou il aurait ete modifie, deforme ou falsifie.
> N'imprimez ce message que si necessaire, pensez a l'environnement.
>