Release : Echec avec des dépendances de type 'pom'
Bonjour à tous,
Étant donné que je sèche depuis de début de la soirée là dessus... Je craque et de demande un peu d'aide. Le contexte du problème est le suivant : Je déploie maven sur un projet de 17 {sous*}-modules articulés de la façon suivante :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
-- super-pom
---- projet 1 (package type pom)
-------- sous-projet 1.1 (package type jar)
-------- sous-projet 1.2 (package type jar)
-------- sous-projet 1.3 (package type jar)
---- projet 2 (package type pom)
-------- sous-projet 2.1 (package type jar)
-------- sous-projet 2.2 (package type jar)
---- projet 3 (package type pom)
-------- sous-projet 3.1 (package type jar)
-------- sous-projet 3.2 (package type jar)
-------- sous-projet 3.3 (package type jar)
-------- sous-projet 3.4 (package type jar)
... |
Il y a pas mal de dépendances un peu partout.
La plus intéressante est que le sous-projet 2.2 déclare une dépendance vers le projet 1 (qui est de type pom):
Code:
1 2 3 4 5 6 7
|
<dependency>
<groupId>com.company.project</groupId>
<artifactId>projet1</artifactId>
<type>pom</type>
<version>1.2.0-SNAPSHOT</version>
</dependency> |
En compilation, test, installation et déploiement, tout passe impeccable. Les pom et les jar sont correctement créés dans le repository local, tout est normal. 8-)
Lorsque je lance un :
Code:
mvn release:prepare -DdryRun:true
Tout est OK aussi... Pas d'erreur.
Etant donné que je travaille avec des snapshots, j'ai cru bon d'utiliser l'argument -DallowTimestampedSnapshots lors de l'invocation du plugin release :
Code:
mvn clean release:prepare -DallowTimestampedSnapshots
Le plugin me demande d'acquitter toutes les versions (release + next) et lance un [clean, verify] sur tout le projet (sans doute avant de commiter).
Toute les dépendances sont correctement traitées, sauf celle du projet 2.2. 8O
Le message d'erreur étant le suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
[INFO] [clean:clean]
Downloading: http://repo1.maven.org/maven2/com/company/project/projet1/1.2.0/projet1-1.2.0.pom
Downloading: http://repo1.maven.org/maven2/com/company/project/projet1/1.2.0/projet1-1.2.0.pom
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Failed to resolve artifact.
Missing:
----------
1) com.company.project.projet1:pom:1.2.0
Path to dependency:
1) com.company.project.sous-projet2.2:sous-projet2.2:jar:1.1.0
2) com.company.project.projet1:pom:1.2.0 |
Pourquoi ce comportement pour les dépendances de type pom ?
J'ai bien sûr vérifié que le problème venait bien de là. En effet, au lieu de délcarer la dépendance sur le projet1, j'ai testé en déclarant à la place une dépendance sur les sous-projets du projet 1 (tous de type jar) et là... çà passe... :(
Quelqu'un a-t-il une idée ?
Merci beaucoup à tous ceux qui pourront m'apporter une réponse, un début de réponse ou une nouvelle piste où chercher.
Merci beaucoup.
Jean-Baptiste.
PS : Je n'ai rien vu dans la base de bug Jira qui ressemble à çà... J'en déduit donc que je dois mal m'y prendre...