| Ce site met a disposition le build journalier de la traduction francaise du Maven: The Definitive Guide Consultez : | ![]() |
Avant que vous ne tentiez de compiler des librairies et des applications Flex avec Maven, vous devrez réaliser deux tâches de configuration :
Configurez vos paramètres Maven afin de référencer un dépôt qui contienne le framework Flex
Ajoutez Flash Player à votre PATH pour pouvoir exécuter les tests unitaires Flex
(Optionnel) Configurez vos paramètres Maven pour inclure le groupe de plugin de Sonatype
Pour configurer votre environnement Maven pour utiliser Flexmojos, vous avez deux
options : vous pouvez faire référence au dépôt Flexmojos de Sonatype directement dans le fichier
pom.xml, ou vous pouvez installer Nexus et ajouter le dépôt Sonatype pour
Flexmojos en tant que dépôt mandataire (proxy) dans votre propre gestionnaire de dépôts. Si l'option la
plus simple consiste à faire référence directement au dépôt, télécharger et installer Nexus
vous procurera le contrôle et la flexibilité dont vous avez besoin pour cacher et gérer les
artefacts générés par vos propres builds. Si vous souhaitez juste commencer rapidement avec
Flexmojos, lisez ci-dessous la Section 19.2.1.1, « Faire référence depuis le POM au dépôt Flexmojos de Sonatype ».
Si ce qui vous itéresse est une solution à long terme qui peut être déployée pour servir de
support à une équipe de développement, allez à la Section 19.2.1.2, « Utiliser Nexus comme dépôt mandataire de Flexmojos de Sonatype ».
Si votre organisation utilise déjà la solution Nexus de Sonatype en tant que mandataire
pour les dépôts distants, vous avez probablement un fichier
~/.m2/settings.xml personnalisé qui pointe vers un seul groupe Nexus.
Si telle est votre situation, vous devrez ajouter au groupe référencé par votre équipe de
développement un dépôt mandataire pour le groupe du dépôt de Flexmojos avec
l'adresse http://repository.sonatype.org/content/groups/flexgroup/. Ajouter un
dépôt mandataire pour ce groupe distant et puis ajouter ce groupe au groupe public de votre
installation Nexus, donnera aux clients de votre instance Nexus un accès aux artefacts
Sonatype repository.sonatype.org.
Flexmojos dépend de certains artefacts qui ne sont actuellement pas disponibles
depuis le dépôt central Maven. Ces artefacts sont disponibles depuis un dépôt hébergé
par Sonatype. Pour utiliser Flexmojos, vous devrez faire référence à ce dépôt depuis
le pom.xml de votre projet. dans ce but, ajoutez l'élément
repositories indiqué dans Exemple 19.1, « Ajouter une référence au dépôt Flexmojos de Sonatype au sein du POM » dans le
fichier pom.xml de votre projet.
Exemple 19.1. Ajouter une référence au dépôt Flexmojos de Sonatype au sein du POM
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>test</groupId>
<artifactId>test</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>pom</packaging>
<modules>
<module>swc</module>
<module>swf</module>
<module>war</module>
</modules>
<repositories>
<repository>
<id>flexmojos</id>
<url>http://repository.sonatype.org/content/groups/flexgroup/</url>
</repository>
</repositories>
</project>
Le XML illustré dans Exemple 19.1, « Ajouter une référence au dépôt Flexmojos de Sonatype au sein du POM », ajoute ce dépôt à la liste des dépôts consultés par Maven quand il tente de télécharger les artefacts et les plugins.
Au lieu de pointer directement vers le dépôt Flexmojos de Sonatype, Sonatype recommande d'installer un gestionnaire de dépôt et de le mettre en proxy du dépôt public de Sonatype. Quand vous mettez en place un proxy d'un dépôt distant avec un gestionnaire de dépôt comme Nexus, vous gagnez un niveau supplémentaire de contrôle et de stabilité qu'il n'est pas possible d'atteindre lorsque votre build dépend directement de ressources externes. En plus de ce contrôle et de cette stabilité, un gestionnaire de dépôt fournit aussi une cible pour le déploiement des artefacts binaires produits par vos builds. Les instructions pour télécharger, installer et configurer Nexus sont disponibles dans le Installation chapter in Repository Management with Nexus. Une fois Nexus installé et démarré, effectuez les opérations suivantes pour lui ajouter une fonction de mandataire du dépôt public de Sonatype.
Pour ajouter un nouveau proxy d'un dépôt, cliquez sur le lien sous dans le menu de la partie gauche de l'interface utilisateur de Nexus. Ce click sur va charger le panneau Repositories. Dans ce panneau Repositories, cliquez sur le bouton et sélectionnez Proxy Repository comme le montre la Figure 19.1, « Ajout du proxy d'un dépôt sur Sonatype Nexus ».
Une fois que vous avez créé ce nouveau dépôt proxy, il vous faut le configurer pour qu'il pointe vers le dépôt public Flexmojos de Sonatype. Sélectionnez ce nouveau dépôt puis l'onglet de Configuration en bas de la fenêtre. Remplissez les champs suivants avec les valeurs indiquées comme le montre la Figure 19.2, « Configuration du dépôt Sonatype Flexmojos Proxy ».
Repository ID prend pour valeur "sonatype-flexmojos"
Repository Name prend pour valeur "Sonatype Flexmojos Proxy"
La "Remote Storage Location" prend pour valeur http://repository.sonatype.org/content/groups/flexgroup/
Une fois que vous avez rempli les champs présentés dans Figure 19.2, « Configuration du dépôt Sonatype Flexmojos Proxy » cliquez sur le bouton
pour enregistrer ce dépôt et commencer à l'utiliser
comme proxy du dépôt Sonatype Flexmojos. Nexus est fourni avec un groupe
public de dépôts, qui regroupe plusieurs dépôts en un seul point d'entrée
pour les clients Maven. Pour compléter la configuration de ce nouveau
dépôt mandataire, vous devez ajouter celui-ci au groupe Nexus Public Repositories.
Pour ce faire, allez à la liste des dépôts qui devrait être visible dans le haut du panneau
Repositories comme le montre Figure 19.2, « Configuration du dépôt Sonatype Flexmojos Proxy ».
Cliquez sur le groupe Public Repositories puis sur l'onglet
Configuration en bas du panneau Repository. Cliquer sur l'onglet Configuration fait apparaître
le formulaire Group configuration comme le montre Figure 19.3, « Ajout du proxy de Sonatype Flexmojos au groupe Public Repositories ».
Pour ajouter le Sonatype Public Proxy au groupe Public Repositories faites un glisser/déposer du dépôt Sonatype Public Proxy de la liste Available Repositories dans la liste Ordered Group Repositories. Cliquez sur le bouton et vous aurez ajouté avec succès un proxy du dépôt Sonatype Flexmojos à votre installation de Nexus. À chaque fois qu'un client va demander un artefact à ce groupe de dépôt, si Nexus ne l'a pas déjà mis en cache il va le demander au dépôt Sonatype Flexmojos situé à http://repository.sonatype.org/content/groups/flexgroup/. Votre installation de Nexus maintient un cache local de tous les artefacts récupérés depuis le dépôt Sonatype Flexmojos. Ce cache local vous donne plus de contrôle et rend l'environnement de build plus stable. Si vous montez une équipe de développeurs qui dépend des artefacts du dépôt public de Sonatype, vous aurez ainsi un environnement de build autonome qui ne dépendra pas de la disponibilité du dépôt de Sonatype une fois que les artefacts nécessaires auront été mis en cache par votre instance de Nexus.
La dernière étape consiste à faire pointer votre installation de
Maven vers l'instance de Nexus que vous venez de configurer. Vous
devez donc modifier votre configuration Maven pour qu'il utilise
le groupe du dépôt Nexus comme miroir pour tous les dépôts. Pour cela,
vous devez éditer votre fichier ~/.m2/settings.xml
et lui ajouter le XML suivant.
Exemple 19.2. Configuration de l'instance Nexus dans le fichier settings.xml
<settings>
<mirrors>
<mirror>
<!--This sends everything else to /public -->
<id>nexus</id>
<mirrorOf>*</mirrorOf>
<url>http://localhost:8081/nexus/content/groups/public</url>
</mirror>
</mirrors>
<profiles>
<profile>
<id>nexus</id>
<!—-Enable snapshots for the built in central repo to direct -->
<!--all requests to nexus via the mirror -->
<repositories>
<repository>
<id>central</id>
<url>http://central</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>central</id>
<url>http://central</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<activeProfiles>
<!—-make the profile active all the time -->
<activeProfile>nexus</activeProfile>
</activeProfiles>
</settings>
Ce fichier XML configure Maven pour qu'il aille consulter le groupe de dépôts publics plutôt que les dépôts d'artefacts et de plugins configurés par ailleurs. C'est une façon simple de garantir que toute demande d'artefact passe par le Nexus installé.