Après pas mal de temps à chercher, j'aurais besoin de votre aide.

Nous souhaitons mettre en place le plugin release de Maven sur un projet existant.

Concrètement, nous avons un projet constitué de plusieurs modules (donc un POM parent et des POM enfants).

Le plugin release est mis en place, lors du "mvn:release prepare", tout à l'air de fonctionner sauf une chose (et pas des moindres): la création du tag. Le plugin me met pas le tag au bon endroit (dans le répertoire "tags" du svn) avec le bon nom, mais pas avec le bon contenu.


Arborescence d'origine (avant exécution du plugin):

-trunk
+ modules (le POM parent est dans ce répertoire)
+ dossier 1 (POM enfant 1)
+ dossier 2 (POM enfant 2)
+ dossier 3 (POM enfant 3)
+ ...
+ dossier A
+ dossier B
-tag
+ tag 1
+ tag 2
+ tag 3
-branches


Après exécution du plugin, on obtient

-trunk
+ modules
+ dossier 1
+ dossier 2
+ dossier 3
+ ...
+ dossier A
+ dossier B
-tag
+ tag 1
+ tag 2
+ tag 3
+ tag 4
+ dossier 1
+ dossier 2
+ dossier 3
+ ...
-branches

Dans le nouveau tag (tag 4), il me met le contenu du dossier "modules", moi je voudrais qu'il me mette le contenu du dossier trunk.


Je voudrais donc:

-trunk
+ modules
+ dossier 1
+ dossier 2
+ dossier 3
+ ...
+ dossier A
+ dossier B
-tag
+ tag 1
+ tag 2
+ tag 3
+ tag 4
+ modules
+ dossier A
+ dossier B
-branches



Sans détailler toutes les étapes pour la mise en place du plugin release. Dans le POM parent, j'ai ajouté:

<scm>
<connection>scm:svn:https://****/trunk/modules/</connection>
<developerConnection>scm:svn:https://****/trunk/modules/</developerConnection>
</scm>



J'ai ensuite essayé avec:

<scm>
<connection>scm:svn:https://****/trunk/</connection>
<developerConnection>scm:svn:https://****/trunk/</developerConnection>
</scm>


Dans ce second cas, le tag est maintenant bien créé avec les bon dossiers, mais j'ai un problème lors du "mvn:release perform": juste après le check out, il me dit que le POM n'existe pas (ben oui, il n'est pas dans le trunk mais dans le sous répertoire "modules", du coup il ne le trouve pas)


Finalement, que je mette un lien qui pointe vers le "trunk" ou vers le répertoire "modules", il y aura toujours une des deux opérations qui va rater:
soit le release:prepare à cause du tag car il me tague le dossier "modules" (le release:prepare n'échoue pas vraiment, mais avec un mauvais tag, c'est tout comme)
soit le release:performe qui échoue car il ne trouve pas le POM pour continuer le perform

Dans la configuration du plugin, je n'ai vu que l'option "tagBase", mais ca ne répond pas à ce problème.
J'ai essayé en vain, les différentes combinaisons pour le scm (à savoir un mix entre "modules", "trunk", la balise "<developperConnection>" toute seule, "<Connection>" toute seule), rien y a fait.


Avez-vous une idée pour résoudre cela?
Sachant que le projet existe depuis longtemps et qu'il n'est pas envisageable de déplacer le POM parent dans le trunk.

Merci d'avance