Question

Objectif

multimodule version Maven avec des balises par module

Situation

On suppose que la structure du projet suivant pour un projet basé sur Java Maven:

xx-parent
xx-moduleA
xx-moduleB
xx-moduleC/submodule1
xx-moduleC/submodule2
xx-moduleC/submodule3

La structure du projet dans Subversion est comme suit:

xx-parent/trunk
xx-moduleA/trunk
xx-moduleB/trunk
xx-moduleC/trunk/submodule1
xx-moduleC/trunk/submodule2
xx-moduleC/trunk/submodule3

Mon but est de créer des balises par module lors d'une sortie:

xx-parent/tags/xx-parent-1.0
xx-moduleA/tags/xx-moduleA-1.0
xx-moduleB/tags/xx-moduleB-1.0
xx-moduleC/tags/xx-moduleC-1.0

Dans le passé, chaque module a été construit et publié séparément. Comme le projet a augmenté de plus grands modules (30), le temps de construire une libération accrue. Je voudrais changer le projet à un multi-modules mis en place pour effectuer une nouvelle génération de réacteur et la libération. Bâtiment ne semble pas être un problème, mais la création de balises par module est.

Le-release-plugin Maven semble insister sur faire une seule balise pour l'ensemble du projet / release. Je cherche un moyen de créer plusieurs balises, par exemple une étiquette par module.

Ce que j'ai essayé jusqu'à présent

  • Création d'un xx-tout alias Subversion, qui vérifie tous les sous-modules, donc je peux les référencer avec <module>../xx-moduleB</module>
  • Activation commitByProject , qui ne commit par module, mais pas étiquette par module. Voir
  • Chaque module a ses propres éléments de <scm> dans le pom.xml, mais ils ne sont pas utilisés lors d'une sortie du réacteur.
  • mvn --batch-mode -DcommitPerProject=true -DautoVersionSubmodules=true -Drelease.version=1.0.6 release:prepare release:perform

Problèmes

  • maven-release-plugin ne crée pas de balise svn par module
  • maven-release-plugin remplace la balise <scm> avec des URL non valides, par exemple imbriqué "tronc" -Tags sous la balise xx-parent

Question

Comment puis-je mettre en place ce projet avec un processus de libération Maven, une mise en page multi-module et obtenez toujours séparés par des balises module?

Références

http://jira.codehaus.org/browse/MRELEASE-261 (fermé) et MRELEASE- 561 (ouvert)

Était-ce utile?

La solution

Selon Arnaud Héritier (membre de PMC Apache Maven),
Maven ne peut pas gérer des applications composites comme module A v0.1, v0.3 module B.
Maven envisager un projet et tous ses sous-modules comme un ensemble unique.
voir: http://blog.aheritier.net/maven-release-plugin- 2-0 / (9 Juin 2010)

Peut-être que la situation a changé depuis avec Maven 3?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top