Comment accélérer les tests suite à des modifications de l'overlay CAS.
Difficile de faire prendre en compte les modifs quand on utilise le war avec embedded tomcat.
Solution intermédiaire à l'utilisation d'un tomcat externe
au lieu de
java -jar xxx/target/cas.war
utiliser
java -cp "xxx/target/cas:xxx/target/cas/WEB-INF/lib/*" org.springframework.boot.loader.WarLauncher
NB : avec maven le répertoire target/cas
est créé en plus du war.
Désactiver le cache thymeleaf
spring.thymeleaf.cache=false
(cf https://apereo.github.io/2018/06/10/cas-userinterface-customizations/ )
Auto-déploiement des modifications dès la sauvegarde des fichiers
Dilemme entre « modifier dans les sources de l'overlay + lancer un build » (lent) ou « tester en modifiant dans target/ puis reporter dans les sources » (fragile)
Solution « Créer des liens symboliques »
Voici un script transformant les fichiers dans target/cas
en symlink vers la source :
rm -rf target/cas && mvn package && compareDirsAndSymlinkSameFiles src target/cas
Le script compareDirsAndSymlinkSameFiles utilise "fdupes" pour trouver les fichiers identiques.
NB : ça marche sans pb avec le tomcat interne spring-boot. Avec un tomcat externe (de test), il faut modifier la conf tomcat :
<Resources allowLinking="true" />