Retirez -SNAPSHOT de la version de projet dans le pom
J'ai une pom avec la suite de la GAV
<groupId>com.company.services</groupId>
<artifactId>test-branch-2</artifactId>
<version>1.0.21-SNAPSHOT</version>
Je veux supprimer -SNAPSHOT
de cette aide de maven en mode batch, alors je peux le faire avec Jenkins et ne pas avoir à spécifier manuellement.
J'ai regardé la documentation pour la version:ensemble, mais toutes les options de m'offrir une invite de commandes et me demander de me tapez un nom pour la version.
Je préfère les versions du plugin, pas la version plugin.
mvn versions:set -DnewVersion=1.0.21
devrait faire l'affaire, n'est-ce pas?Oui, mais non. Comment êtes-vous arrivé à la chaîne "1.0.21" sans avoir moins de ed ou chat ed ou grep ed la pom?
Ah, je vois. Jetez un oeil à page 123 f. de DevOps pour les Développeurs, Michael Hüttermann décrit un plugin Maven qui supprime l'INSTANTANÉ et définit le nouvelleversion propriété des versions plugin en conséquence.
J'abandonne. J'utilise la version plugin pour l'instant.
Et ça doit être tout Maven? Vous pourriez obtenir la version via l'aide du plugin - mvn help:évaluer -Dexpression=projet.version, mais alors vous avez besoin de l'aide de sed ou quelque chose pour supprimer le "INSTANTANÉ" de suffixe. Bien sûr, vous pourriez aussi bien grep pour la version directement.
OriginalL'auteur Jepper | 2014-05-06
Vous devez vous connecter pour publier un commentaire.
Depuis la version 2.10 de la Versions de Maven Plugin, vous pouvez tout simplement faire:
Ne devrait-ce pas la accepté de répondre?
Oui il faut, mais je ne suis pas l'OP, donc je ne peux pas le changer. @Jepper avez-vous essayé Rinke solution ?
Fonctionne avec le plugin de la version 2.5. Ne fonctionne pas avec le plugin de la version 2.2. Ne sais pas entre les deux. La Version 2.5 est la plus récente au moment de l'écriture.
OriginalL'auteur Rinke
Si vraiment vous ne voulez pas utiliser la Version Plugin Maven (pour quelque raison que ce soit), voici comment je réussis sur la suppression de l'INSTANTANÉ suffixe (hanbdled comme un classificateur) à partir d'un POM maven dans un façon standard (aucun script, aucun plugin maven).
Donné le profil suivant:
Et simplement l'exécution:
mvn validate -Pdrop-snapshot
La version d'un exemple pom passé de
0.0.1-SNAPSHOT
à0.0.1
.Comment il fonctionne réellement:
build-helper-maven-plugin
,parse-version
objectif, sera d'analyser la version actuelle de la POM et le mettre dans un ensemble de propriétés avoir par défautparsedVersion
comme préfixe etmajorVersion
,minorVersion
,incrementalVersion
comme suffixes (vérifiez dans la documentation, vous aurez égalementclassifier
etbuildNumber
). Ainsi, après son exécution, nous pouvons utiliser dans notre POM les propriétés comme${parsedVersion.majorVersion}
et ainsi de suite.versions-maven-plugin
,set
objectif, sera ensuite utiliser ces propriétés pour la construction de la nouvelle version que vous voulez vraiment (dans ce cas l'abandon de l'INSTANTANÉ, parce que nous avons exclu les${parsedVersion.classifier}
propriété).versions-maven-plugin
,valider
objectif, sera de faire ces changements en vigueur.OriginalL'auteur A_Di-Matteo
Ajouter les éléments suivants à votre POM:
Vous pouvez maintenant retirer le
-SNAPSHOT
le cadre de votre projet de version:La
-N
dit Maven pour seulement proces de la racine du projet dans le cas où vous avez les modules définis dans votre POM. Ce n'est pas strictement nécessaire, mais empêche labuild-helper
plugin tourne inutilement contre les submodules. Leversions
plugin ne fonctionne que sur la racine du projet dans tous les cas, et parcourt tous les modules automatiquement. Pensez à utiliser lereactorModuleConvergence
la règle de lamaven-enforcer
plugin pour s'assurer multi-module projets sont pris en charge correctement.Vous pouvez exécuter
mvn versions:commit
pour supprimer la sauvegarde POM(s) générés parversions:set
. Alternativement, vous pouvez ajouter<generateBackupPoms>false</generateBackupPoms>
à la configuration de l'versions
plugin.OriginalL'auteur Rinke
Similaire à A_Di-Matteo approche avec
build-helper
, mais sans avoir besoin de plugins supplémentaires de configuration:Ce sera de remplacer votre
1.0.0.0-SNAPSHOT
avec1.0.0.0
dans lepom.xml
.OriginalL'auteur mzc