Réduire le temps de build maven
L’idée serait de détecter les modules maven impactés par les modifications. Puis de builder ces modules ainsi que les modules qui dépendent de celui-ci au sein du même repo. C’est possible à l’aide des arguments pl et -amd (-also-make-dependents)
exemple:
mvn install -pl artemis-javalib-impayes,artemis-javalib-common -amd
Pour avoir tous les fichiers changés dans une branche
1 |
git whatchanged --name-only --pretty="" origin..HEAD |
Pour avoir tous les modules de premier niveau
1 |
git whatchanged --name-only --pretty="" origin..HEAD | awk "{print $1}" | cut -f1 -d"/" | uniq | tr "\r\n" "\n" | tr "\n" "," | sed "s/,$/\n/" |
Pour builder
1 |
mvn -amd -pl "module list" install |
2 problèmes :
seul le premier niveau est pris en compte
le module maven doit avoir le même nom que le dossier du module
plugin maven qui pourrait permettre d’identifier les modules affectés par une modif:
https://github.com/lesfurets/partial-build-plugin