L'activation du profil sur les deux version:préparer et diffuser:effectuer
Je ne peux pas trouver une solution pour l'activation de certains Maven profil sur release:prepare
et release:perform
(les deux) objectifs. Quelque chose comme ceci:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.2.1</version>
<configuration>
<useReleaseProfile>false</useReleaseProfile>
<goals>deploy</goals>
<arguments>-Pmy-release</arguments>
</configuration>
</plugin>
ne fonctionne tout simplement pas. Je sais que releaseProfiles
paramètre ne fonctionne que pendant release:perform
je viens donc de bien que arguments
paramètre est exactement ce que je veux, mais my-profile
profil n'est pas active lors de l'exécution. Suis-je en train de faire quelque chose de mal?
OriginalL'auteur Michał Kalinowski | 2012-04-03
Vous devez vous connecter pour publier un commentaire.
Cela ressemble à une double question. Veuillez jeter un oeil à cette question, il a une réponse.
maven version plugin ignore releaseProfile
Fondamentalement la version 2.2.1 de la version plugin ajoute un
releaseProfiles
paramètre qui va vous permettre de définir les profils pour permettre au cours de la libération.http://maven.apache.org/plugins/maven-release-plugin/examples/perform-release.html
Malheureusement, il semble qu'il y est un bug qui va interdire de faire ce que vous voulez...
Modifier
Une chose que j'ai utilisé dans ce cas est de ne pas utiliser la
-P
argument, mais plutôt de déclenchement du profil par le biais d'un paramètre d'environnement à l'aide de-Denv=release
. Puis dans le POM, j'ai le profil d'activation en fonction de la valeur deenv
. Ce qui a toujours travaillé pour moi.releaseProfiles
paramètre est lié uniquement àrelease:perform
objectif, de sorte qu'il ne fonctionne pas pendantrelease:prepare
. Et, vous avez raison, son comportement est quand même vraiment bizarre. Votre conseil-Dmy-release
variable est en fait ma solution actuelle. Je ne l'ai pas mentionné avoir ma question directement et pour ne pas suggérer une voie de pensée. Il semble cependant que c'est le seul (ou au moins la meilleure façon de le faire pour l'instant. J'ai déjà essayé2.3-SNAPSHOT
version demaven-release-plugin
et continue de ne pas fonctionner correctement. Triste.OriginalL'auteur nwinkler
Parce que maven version plugin commencer instance supplémentaire, vous devez spécifier des arguments supplémentaires. Pour vous cas
et l'exécution
et oui, il doit être dupliqué.
OriginalL'auteur Roman Platonov
-Darguments="-PmyProfile" semble faire le travail.
OriginalL'auteur Cristian Botiza
Il travaille dans Jenkins en activant le profil pour les deux version:préparer et diffuser:effectuer en définissant à la fois les propriétés
Même si le ci-dessus fonctionne très bien, je l'ai trouvé plus utile d'utiliser des fichiers de profils activés. L'ancien concept avec un 'maître' profil a été à l'origine du problème, que j'avais le profil dans mes parent pom. Ce qui veut dire, il commençait à être activé dans chaque module, arbitraire.
Pour le résoudre, j'ai utilisé le fichier d'activation de la méthode dans le profil. Il fonctionne encore mieux et en bonus, il simplifie la libération dans Jenkins. Dans Eclipse, en ligne de commande, dans Jenkins, aka partout, maven détecte le fichier et le maven-release-plugin n'a pas à être configuré. Plus le profil est actif que dans le droit du module.
OriginalL'auteur Andreas Panagiotidis