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


    13.2. Configuration de l'environnement de build pour Flexmojos

    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

    13.2.1. Faire référence à un dépôt contenant le Framework Flex

    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 13.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 13.2.1.2, « Utiliser Nexus comme dépôt mandataire de Flexmojos de Sonatype ».

    Note

    Si votre organisation utilise déjà la solution Nexus de Sonatype en tant que mandataire pour les dépôts distants, vous avez probablement personnalisé votre fichier ~/.m2/settings.xml pour qu'il 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/.

    Ajoutez ce nouveau dépôt au groupe de dépôt Nexus utilisé par votre équipe de développement. Ajouter un dépôt mandataire pour ce groupe distant et l'ajouter ensuite au groupe public de votre installation Nexus, donnera aux clients de votre instance Nexus un accès aux artefacts Sonatype repository.sonatype.org.

    13.2.1.1. Faire référence depuis le POM au dépôt Flexmojos de Sonatype

    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 13.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 13.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 13.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.

    13.2.1.2. Utiliser Nexus comme dépôt mandataire de Flexmojos de Sonatype

    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.

    13.2.1.2.1. Configure a Flexmojos Proxy Repository in 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.

    1. Pour ajouter un nouveau proxy d'un dépôt, cliquez sur le lien Repositories sous Views/Repositories dans le menu Nexus de la partie gauche de l'interface utilisateur de Nexus.

    2. Ce click sur Repositories va charger le panneau Repositories.

    3. Dans ce panneau Repositories, cliquez sur le bouton Add.. et sélectionnez Proxy Repository comme le montre la Figure 13.1, « Ajout du proxy d'un dépôt sur Sonatype Nexus ».

    Ajout du proxy d'un dépôt sur Sonatype Nexus

    Figure 13.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.

    1. Sélectionnez ce nouveau dépôt, puis

    2. Sélectionnez l'onglet de Configuration en bas de la fenêtre.

    3. Remplissez les champs suivants avec les valeurs indiquées comme le montre la Figure 13.2, « Configuration du dépôt Sonatype Flexmojos Proxy ».

    Configuration du dépôt Sonatype Flexmojos Proxy

    Figure 13.2. Configuration du dépôt Sonatype Flexmojos Proxy


    Une fois que vous avez rempli les champs présentés dans Figure 13.2, « Configuration du dépôt Sonatype Flexmojos Proxy » cliquez sur le bouton Save pour enregistrer ce dépôt et commencer à l'utiliser comme proxy du dépôt Sonatype Flexmojos.

    13.2.1.2.2. Ajout du proxy du dépôt Flexmojos à un groupe Nexus

    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, vous devez procéder ainsi :

    1. Allez à la liste des dépôts qui devrait être visible dans le haut du panneau Repositories comme le montre Figure 13.2, « Configuration du dépôt Sonatype Flexmojos Proxy ».

    2. Cliquez sur le groupe Public Repositories puis

    3. Cliquez 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 13.3, « Ajout du proxy de Sonatype Flexmojos au groupe Public Repositories ».

    Ajout du proxy de Sonatype Flexmojos au groupe Public Repositories

    Figure 13.3. Ajout du proxy de Sonatype Flexmojos au groupe Public Repositories


    1. 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.

    2. Cliquez sur le bouton Save 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.

    13.2.1.2.3. Configuration de Nexus dans votre environnement de développement

    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 13.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é.