8

Mon entreprise commence un nouveau projet la semaine prochaine. Nous avons prévu de développer l'application avec eclipse rcp. Le processus de construction devrait être entièrement automatisé, nous sommes donc prêts à mettre en place un environnement d'intégration continue (par exemple, Continuum). Pour la partie build-automation, j'avais l'intention d'utiliser maven2, car je veux utiliser sa gestion des dépendances.Utilisez maven2 pour l'automatisation de la construction et l'intégration continue d'un projet eclipse rcp?

J'ai utilisé maven2 pour un petit projet java de style ancien, mais je n'ai jamais configuré maven pour l'utiliser avec eclipse rcp.

Quelle est la meilleure façon de faire cela? Concepts de base? Pièges communs? Y a-t-il des tutoriels ou des livres dans le coin? Les tutoriels et les informations que j'ai trouvés, semblaient dépassés ou incomplets. PS: Le projet principal sera divisé en sous-projets (plug-ins). Mais je pense que c'est typique pour les projets rcp eclipse.

+0

Je ne pense pas que cela soit un projet RCP changerait votre projet Maven/continuum du tout, serait-il? –

+1

Oui. Eclipse RCP est basé sur OSGi pour la résolution des dépendances et maven est un système complètement différent pour la résolution des dépendances. Ils ne sont malheureusement pas (encore) compatibles. Maven 3 peut résoudre le problème mais ne sera pas publié dans un avenir proche. – paulgreg

Répondre

2

Comme la plupart des questions de Maven, ce problème résolu par un lien vers un plug-in:

"pde-maven-plugin"

Autres conseils:

  1. utiliser le plug-in assemblage pour construire la mise à jour Site
  2. envisager d'utiliser hudson plutôt que Continuum
0

J'ai récemment le même problème: construire une application RCP eclipse grâce à une intégration continue.

Je ne les ai pas encore appliqué, mais je l'ai trouvé quelques articles intéressants:

  1. est ici the documentation for Tycho
  2. Building Eclipse Plugins with Maven 2 sur eclipse.org
  3. Build Eclipse RCP products using Maven 2 - how hard can it be? du blog de Immo Huneke
  4. est ici un article à propos de PDE build automation
  5. Voici un shell script to automate JUnit test launch
+1

J'ai essayé quelques heures Tycho sur mon projet (composé de ~ 30 plugins & ~ 10 fonctionnalités) sans grand succès. Avoir à prendre plus de temps ou/et attendre que Tycho soit plus stable. – paulgreg

2

J'ai lutté contre l'intégration de maven2/Eclipse RCP pendant un certain temps. La clé n'est pas tant d'avoir une bonne configuration: vous pouvez le faire fonctionner - éventuellement - en inversant le processus de construction d'Eclipse dans maven. D'après mon expérience, le plus dur est de tout mettre à jour. À chaque fois qu'Eclipse fait tourner ses bibliothèques, vous réécrivez un tas de fichiers pom pour ce nouveau widget RCP ou cette bibliothèque SWT. Naturellement, CI aide un peu à cela. Le problème est qu'Eclipse et maven sont très particuliers quant à la manière dont ils construisent et leurs approches sont très différentes. Pour ne rien arranger, PDE dev (et Eclipse dev, plus généralement) est alimenté par beaucoup de code de l'assistant, ce qui est parfois assez opaque quant à ce qui se passe dans les coulisses.

La question que vous devez vraiment vous poser est de savoir si cela en vaut la peine. Dans mon cas particulier, je crois que cela a été le cas. (CI est trop beau pour vivre sans.) Mais le compromis est que vous pouvez vous trouver être le «gars de la construction», ce qui peut prendre un temps précieux loin du développement réel, ce qui est probablement ce que vous aimez le plus.

+0

Un autre petit commentaire: Donner une rotation à hudson au lieu du continuum. C'est vraiment propre et facile à utiliser. – jasonnerothin

Questions connexes