Ce site met a disposition le build journalier de la traduction francaise du Maven: The Definitive Guide
Consultez :
  • Les documents de reference sur le projet original
  • Les sources de la traduction fr sur GitHub
  • maven


    14.5.6. Balise repositories

    Dans le descripteur d'assembly, la balise repositories est un élément un peu plus exotique. Peu d'applications (autre que Maven) peuvent profiter pleinement de la structure de répertoires d'un dépôt Maven. Pour cette raison, et parce que nombre de ces fonctionnalités ressemblent étroitement à la balise dependencySets, nous passerons très rapidement sur la présentation de cette balise. Dans la plupart des cas, les utilisateurs qui ont compris comment fonctionnent les dependencySets n'auront aucun souci à utiliser la balise repositories du plugin Assembly. Nous n'allons donc pas illustrer cette balise par un cas d'utilisation. Nous allons simplement nous contenter de vous donner quelques mises en garde pour ceux d'entre vous qui ressentent le besoin d'utiliser la balise repositories.

    Cela dit, nous avons deux fonctionnalités à mentionner en particulier à propos des balises repositories. La première est le flag includeMetadata. Lorsque ce flag est activé les métadonnées, comme la liste des versions réelles qui correspondent aux versions virtuelles -SNAPSHOT, sont incluses. Par défaut ce flag est désactivé. À l'heure actuelle, les seules métadonnées incluses lorsque ce flag est à true sont celles téléchargées comme informations à partir du dépôt central de Maven.

    La seconde fonctionnalité est appelée groupVersionAlignments. Ici encore, cette balise représente une liste de configurations individuelles groupVersionAlignment, dont le but est de normaliser tous les artefacts inclus pour un groupId particulier de manière à n'utiliser qu'une seule version. Chaque entrée se compose de deux éléments obligatoires : un id et une version, ainsi qu'une section optionnelle appelée excludes qui fournit une liste d'artifactId qui doivent être exclus de ce réalignement. Malheureusement, ce remaniement ne semble pas modifier les POMs impliqués dans le dépôt, ni ceux liés à des artefacts réalignés, ni ceux qui dépendent des artefacts réalignés. De ce fait, il est difficile d'imaginer un réel cas d'utilisation pour ce genre de réalignement.

    En général, le plus simple est d'utiliser les mêmes principes que ceux des dependencySets de votre descripteur d'assembly. Même si la balise repositories supporte d'autres options, elles sont principalement fournies pour des raisons de rétrocompatibilité, et seront probablement dépréciées dans les prochaines releases.