Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Responsable Java

    Introduction à Tycho : construction automatique de product Eclipse
    Bonjour à tous,

    Je vous propose un article qui traite de Tycho, un plugin pour Maven permettant de construire des bundles OSGi et des plugins Eclipse.

    Cet article montre par l'exemple comment construire automatiquement des exécutables Eclipse (appelés « product ») par l'intermédiaire de Tycho.

    L'adresse de l'article : http://mbaron.developpez.com/eclipse/introtycho/

    Si vous avez des questions profitez de cette discussion

    Bonne lecture

    Mickael
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Ingénieur de Recherche en informatique au LIAS / ISAE-ENSMA
    Page de Developpez.com : mbaron.developpez.com
    Twitter : www.twitter.com/mickaelbaron
    Blog : mickael-baron.fr
    LinkedIn : www.linkedin.com/in/mickaelbaron
    DBLP : dblp.uni-trier.de/pers/hd/b/Baron:Micka=euml=l

  2. #2
    Membre éprouvé
    Merci pour cette intro Mickael...

    Tycho n'est pas suffisamment mis en avant sur Développez ! Et pourtant il est, IMHO, incontournable si l'on souhaite produire des applis RCP et des plugins Eclipse de manière industrielle !

    Je rajouterais que l'ensemble des projets dont parle Mickael peut être "automatiquement" créé grace a l'archetype Maven Minerva de Chris Aniszczyk

    J'ai mis en guillemet "automatiquement" pour plusieurs raisons:

    -1- il faut générer l'archetype, avant de pouvoir générer les projets.
    Le projet est sur Github; et, peut être rappatrié sur vos plateformes à l'aide de EGIT.

    -2- le référentiel de Chris contient plusieurs bugs génants que j'ai corrigé ici. Mes correctifs, n'ont à ce jour, pas été pris en compte par Chris (je ne sais pas pourquoi!!!). Sur mon référentiel, vous trouverez aussi un correctif pour l'Issue15 (à merger car ma branche master ne contient pas le correctif). L'Issue17 peut aussi être corrigé facilement si celà vous intéresse...

    Mais après celà en quelques clics tous vos projets peuvent être créés

  3. #3
    Responsable Java

    Philipppe,

    Merci pour les retours et pour l'information. Je vais placer un petit lien sur cet archetype.

    La rubrique Eclipse recherche des rédacteurs et j'ai l'impression que tu t'y connais pas mal, si ça t'intéresse

    Mickael
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Ingénieur de Recherche en informatique au LIAS / ISAE-ENSMA
    Page de Developpez.com : mbaron.developpez.com
    Twitter : www.twitter.com/mickaelbaron
    Blog : mickael-baron.fr
    LinkedIn : www.linkedin.com/in/mickaelbaron
    DBLP : dblp.uni-trier.de/pers/hd/b/Baron:Micka=euml=l

  4. #4
    Membre éprouvé
    Citation Envoyé par keulkeul Voir le message
    Je vais placer un petit lien sur cet archetype.
    Comme précisé... il n'y a pas de binaire !
    Chris est committer sur plusieurs projets Eclipse. Actuellement, du à son changement de société (Redhat>Twitter); et, ses autres préoccupations, il n'a pu mettre l'archetype sur un dépot public...
    Citation Envoyé par keulkeul Voir le message

    La rubrique Eclipse recherche des rédacteurs et j'ai l'impression que tu t'y connais pas mal, si ça t'intéresse
    Pourquoi pas... je te dirais même que j'y ai même fortement pensé ! Le manque de temps a fait le reste... je n'ai même pas de blog !

  5. #5
    Responsable Java

    Comme précisé... il n'y a pas de binaire !
    Je ne parlais pas forcément du binaire mais du lien que tu m'as donné.

    Le manque de temps a fait le reste... je n'ai même pas de blog !
    Arggg !!!
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Ingénieur de Recherche en informatique au LIAS / ISAE-ENSMA
    Page de Developpez.com : mbaron.developpez.com
    Twitter : www.twitter.com/mickaelbaron
    Blog : mickael-baron.fr
    LinkedIn : www.linkedin.com/in/mickaelbaron
    DBLP : dblp.uni-trier.de/pers/hd/b/Baron:Micka=euml=l

  6. #6
    Membre éprouvé
    Citation Envoyé par keulkeul Voir le message
    Je ne parlais pas forcément du binaire mais du lien que tu m'as donné.

    Alors tu peux mettre ce lien http://wiki.eclipse.org/Minerva !

    Note: Fred Bricon (auteur de l'extension WTP pour M2E) avait lui aussi initié un tel archetype... Mais je crois qu'il n'a pas été maintenu

  7. #7
    Membre éprouvé
    Quelques suggestions
    Bonjour Mickael,

    Quelques suggestions aprés la lecture de tes sources

    -1- Mettre maven3 en prérequis pour Tycho dans ton pom parent
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    <prerequisites>
       <maven>3.0</maven>
    </prerequisites>
    -2- passer à
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    <tycho-version>0.12.0</tycho-version>
    voire 0.13.0

    -3- passer à p2 indigo (éventuellement mettre les plateformes dans des profils afin de pouvoir proposer au choix helios et indigo)
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <repository>
       <id>indigo</id>
       <url>http://download.eclipse.org/releases/indigo</url>
       <layout>p2</layout>
    </repository>
    a+
    Philippe



  8. #8
    Membre habitué
    Quelques questions concernant le tuto
    Bonjour, je viens de tester ton tuto Introduction à Tycho: construction automatique d'un product Eclipse, cela fonctionne nickel.

    Jusque là, je générer mes exécutables avec eclipse maintenant avec l'utilisation de maven la construction peut être faite automatiquement.

    J'ai une ou deux questions tout d'abord la structure que tu défini est-elle obligatoire (aggregator, parent,feature et repository) j'ai un peu de mal à comprendre la responsabilité de certains d'entre eux.

    Autre point concernant l'utilisation de plugin, particulierement type Birt ou des API tierces, dans quel fichier pom cela doit-il se faire ? Cela m’intéresse de savoir comment faire pour Birt en autre mais aussi si je décide de déployer une base H2 avec mon package eclipse.

    Merci pour tes réponses et j'ai hâte de lire ton article sur EMF.

  9. #9
    Responsable Java

    Bonjour Philippe,

    Merci pour ces remarques par contre je ne pense pas pouvoir mettre à jour l'article à chaque nouvelle version d'Eclipse et de Tycho.

    Mickael
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Ingénieur de Recherche en informatique au LIAS / ISAE-ENSMA
    Page de Developpez.com : mbaron.developpez.com
    Twitter : www.twitter.com/mickaelbaron
    Blog : mickael-baron.fr
    LinkedIn : www.linkedin.com/in/mickaelbaron
    DBLP : dblp.uni-trier.de/pers/hd/b/Baron:Micka=euml=l

  10. #10
    Responsable Java

    Bonjour tatemilio2,

    Voici une petite explication du rôle de aggregator, parent,feature et repository.

    • Pour l'aggregator, il s'agit d'un projet globale. C'est dedans que tu vas référencer tous les sous modules.
    • Parent, regroupe toutes les dépendances communes à tous les sous modules
    • feature décrit un feature au sens Eclipse (un regroupement de plugins)
    • repository gère le product pour la génération de ton exécutable

    Autre point concernant l'utilisation de plugin, particulierement type Birt ou des API tierces, dans quel fichier pom cela doit-il se faire ? Cela m’intéresse de savoir comment faire pour Birt en autre mais aussi si je décide de déployer une base H2 avec mon package eclipse.
    En fait, pour l'instant j'utilise Tycho uniquement pour la construction automatique de RCP. Concernant les dépendances vers des APIs Tierce qui ne sont pas OSGi, je ne l'exploite pas encore. Je ne pense pas qu'il y ait un quelconque problème.

    Mickael
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Ingénieur de Recherche en informatique au LIAS / ISAE-ENSMA
    Page de Developpez.com : mbaron.developpez.com
    Twitter : www.twitter.com/mickaelbaron
    Blog : mickael-baron.fr
    LinkedIn : www.linkedin.com/in/mickaelbaron
    DBLP : dblp.uni-trier.de/pers/hd/b/Baron:Micka=euml=l

  11. #11
    Futur Membre du Club
    Quelques corrections au tuto
    3.B dernière ligne, l'emplacement de projets à créer n'est pas très claire jusqu'à ce qu'on arrive à 3.C et que l'on se rend compte de la structure finale à a voir, il faut alors faire marche arrière pour recréer correctement les projets.

    Il ne faut pas oublier d'ajouter dans les pom.xml le namespace xml sinon le fichier de config ne peut pas être sauver et l'on peut observer des comportements étranges entre le tab overview et le tab pom.xml supposés correspondre:

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns<img src="images/smilies/icon_mad.gif" border="0" alt="" title=":x" class="inlineimg" />si="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">


    Dans certains projets, par défaut j'avais pour version 0.0.1-SNAPSHOT, il faut alors modifier en 1.0.0-SNAPSHOT pour que le "mvn clean install" fonctionne.

    3.F Il ne s'agit pas d'un projet Plug-in mais bien d'un projet Update Site Project.

    Ces changements sont certainement dû à l'évolution des soft depuis l'écriture de ce tuto. Indigo <> Helios