Question

J'ai énorme projet qui contient environ 200 pots, quand je prépare la libération Maven se préparent pour les petits pots, mais à coup sûr il y a des bocaux qui n'a pas été modifié depuis la construction dernière est donc il possible de vérifier si pot a été modifié depuis la dernière construire à partir scm? et les exclure?

Je ne veux relase pots (plus de 200) individuellement.

par exemple: je veux faire relase pour les parents, mais je ne veux pas relase jar4 qui n'a pas été modifié

-Parent

---------Module1

----------------jar1*

----------------jar2*

---------Module2

----------------jar3*

----------------jar4   
Était-ce utile?

La solution

  

par exemple: je veux faire relase pour les parents, mais je ne veux pas relase jar4 qui n'a pas été modifié

La syntaxe est

mvn -pl Module1,Module2/jar3 <your maven goals here>

(dans ce cas, vous voulez construire tous Module1 et juste jar3 de Module2)

Maintenant, la partie la plus délicate est de savoir comment assembler le paramètre à -pl. Je suis assez sûr qu'il n'y a pas moyen de Maven pour le faire, vous devrez probablement écrire un script shell (ou Ruby, Groovy, PERL python etc. script) qui fait pour vous.

En gros, ce que votre script doit faire:

  • look pour tous les répertoires du projet Maven (répertoires qui contiennent un pom.xml) dans le répertoire donné, les trier dans le sens inverse (les chemins les plus profonds en premier)
  • trouver tous les fichiers modifiés dans toute la hiérarchie (en utilisant svn, cvs ou tout autre appel)
  • mapper chaque fichier modifié à l'un des projets (en comparant les chemins), recueillir tous les projets assortis dans une liste
  • Maintenant optimiser la liste en faisant une optimisation parent / enfant (si tous les enfants d'un parent donné sont présents, retirer les enfants et ajoutez le parent). Pour ce faire, à plusieurs reprises jusqu'à ce que vous atteignez la hiérarchie racine.
  • Dans la liste restante, extraire les chemins relatifs, les rejoindre par une virgule et commencer votre processus de Maven en utilisant cette valeur pour le paramètre -pl.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top