Yoctopuce est disponible dans Maven

Yoctopuce est disponible dans Maven

Maven est le moteur de build le plus populaire pour Java. Nous avons donc modifié notre librairie Java pour la rendre compatible avec Maven et elle est aussi disponible depuis repository central de Maven. Grâce à ceci, il est désormais possible d'utiliser la librairie Yoctopuce dans un projet Maven avec seulement trois champs à ajouter dans un ficher xml :-)




La grande force du langage de programmation Java est sans conteste la quantité de librairies déjà disponibles. Que cela soit pour parser un format de fichier, accéder à une base de données ou dessiner un graphique, il y existe probablement déjà une librairie qui le fait. Mais gérer manuellement la compilation d'un projet qui utilise des librairies externes qui elles-mêmes utilisent des librairies externes devient très vite compliqué. La solution est d'utiliser un moteur de build pour automatiser la compilation et la gestion des dépendances. Maven est parfait pour cette tâche car il s'occupe de compiler le projet mais est aussi capable de télécharger directement les librairies nécessaires depuis le web.

Si vous utilisez déjà Maven, ce que nous présentons ici vous paraîtra probablement trivial. Vous pouvez directement consulter le repository central de Maven pour trouver les informations dont vous avez besoin pour utiliser notre librairie, et à attendre l'article de la semaine prochaine pour un autre sujet...

Si au contraire vous n'avez jamais utilisé Maven, nous allons voir comment ajouter facilement la librairie Yoctopuce à un projet Maven depuis les trois principaux IDE : InteliJ, Netbeans, Eclipse, ainsi qu'à un projet créé à la main avec votre éditeur préféré.

Pour cet article, nous allons écrire un petit programme qui va simplement afficher les numéros de série des modules Yoctopuce connectés en local. Si vous n'avez jamais utilisé la librairie Yoctopuce, un exemple très similaire est détaillé dans la documentation de chaque module. Nous partons donc du principe que vous savez utiliser un minimum l'API Yoctopuce et que vous avez déjà installé le VirutalHub sur votre machine.

package com.mycompany.example;
import com.yoctopuce.YoctoAPI.*;

public class Demo {
  public static void main(String[] args)
  {
    try {
      // set up the API to use local VirtualHub
      YAPI.RegisterHub("127.0.0.1");
      System.out.println("Device list");
      YModule module = YModule.FirstModule();
      while (module != null) {
          System.out.println(module.get_serialNumber() + " ("
                           + module.get_productName() + ")");
          module = module.nextModule();
      }
    } catch (YAPI_Exception ex) {
      System.out.println(ex.getLocalizedMessage());
    }
    YAPI.FreeAPI();
  }
}




Maven sans IDE

Un projet Maven est composé d'un fichier pom.xml (pour Project Object Model) et de plusieurs répertoires qui vont contenir les fichiers sources.

Maven impose une structure de répertoire bien spécifique:

  • /pom.xml : le fichier pom du projet
  • /src/main/java : contient les fichiers source Java
  • /src/main/resources : contient les fichiers de ressources (images, fichiers, etc.)
  • /src/main/webapp : est le répertoire webapp du projet
  • /src/test : contient les fichiers de test
  • /target : contient les binaires et les packages générés par Maven

Le fichier source de notre petit projet (Demo.java) doit être enregistré dans le sous-répertoire /src/main/java/com/mycompany/example sinon Maven ne le compilera pas.

Le fichier pom.xml doit contenir au minimum trois champs: groupId, artifactId et version. Ces trois champs permettent d'identifier un artefact Maven de manière unique.

  • groupId identifie le groupe qui a créé le projet en "reverse domain name"
    (Par exemple: com.mycompany.example)
  • artifactId identifie le nom de l'artefact (Par exemple demo)
  • version définit le numéro de version de l’artefact

Pour que la compilation de notre exemple réussisse, il faut encore ajouter une dépendance sur la librairie Yoctopuce. Il suffit d’insérer une entrée dependency dans la section dependencies qui référence le groupId, l'arterfactId et le numéro de version de la librairie Yoctopuce que l'on veut utiliser.

Voilà le fichier pom qui va compiler notre application avec la version 1.10.15882 de la librairie Java Yoctopuce:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 <modelVersion>4.0.0</modelVersion>
 <groupId>com.mycompany.example</groupId>
 <artifactId>demo</artifactId>
 <version>1.0-SNAPSHOT</version>
 <dependencies>
  <dependency>
    <groupId>com.yoctopuce.java</groupId>
    <artifactId>yoctolib</artifactId>
    <version>1.10.15882</version>
  </dependency>
 </dependencies>
</project>


Pour compiler notre application, il suffit d’exécuter "mvn package". Si Maven n'a pas déjà cette version de librairie Yoctopuce en local, il va automatiquement la télécharger depuis Maven Central.

Netbeans

Il est possible de créer un projet Maven directement depuis le wizard Netbeans. Dans le wizard de création de projet, il faut sélectionner un projet qui soit dans le répertoire Maven. Netbeans se charge de créer l’arborescence minimale et le fichier pom.xml. Pour ajouter la dépendance sur la librairie Yoctopuce, il faut faire un clic droit sur la branche "Dependencies" du panneau "Project". Il faut ensuite fournir les groupId, artifactId et version de la librairie Yoctopuce que l'on veut utiliser. Et voilà, le projet est prêt.

La vidéo suivante montre toute la procédure.

  
Voilà comment ajouter la librairie Yoctopuce à un projet Maven avec Netbeans.



Intellij

IntelliJ supporte aussi nativement les projets Maven. Tout comme Netbeans, le wizard de création de projet va créer l’arborescence et le fichier pom.xml. Cependant, pour ajouter la librairie Yoctopuce, il faut éditer à la main le fichier pom.xml et ajouter manuellement la section suivante:

<dependencies>
  <dependency>
    <groupId>com.yoctopuce.java</groupId>
    <artifactId>yoctolib</artifactId>
    <version>1.10.15882</version>
  </dependency>
 </dependencies>


La vidéo suivante montre toute la procédure.

  
Voilà comment ajouter la librairie Yoctopuce à un projet Maven avec IntelliJ.



Eclipse

Eclipse "for Java and Dsl Developper" a un plugin qui ajoute le support Maven installé par défaut. Cependant, ce plugin n'est pas inclus dans la version standard d'Eclipse. Dans ce cas, il faut l'installer manuellement. Le wizard de création de projet Maven se charge de générer une arborescence compatible avec Maven et le fichier pom.xml, ainsi que les fichiers projets utilisé par Eclipse. Pour ajouter la librairie Yoctopuce, il faut éditer le fichier pom.xml mais Eclipse nous facilite cette tâche avec un wizard qui génère automatiquement un fichier pom.xml valide.

La vidéo suivante montre toute la procédure.

  
Voilà comment ajouter la librairie Yoctopuce à un projet Maven avec Eclipse



Sans Maven

Bien évidement, la libraire Java reste disponible sur notre site web et sur GitHub. Ces deux dernières versions incluent aussi la documentation de l'API ainsi que de nombreux exemples.

Commenter aucun commentaire Retour au blog












Yoctopuce, get your stuff connected.