8

Mi empresa comienza un nuevo proyecto la próxima semana. Hemos planeado desarrollar la aplicación con eclipse rcp. El proceso de compilación debe estar completamente automatizado, por lo que estamos preparados para configurar un entorno de integración continuo (por ejemplo, Continuum). Para la parte de automatización de compilación pretendo usar maven2, porque quiero utilizar su gestión de dependencias.¿Utiliza maven2 para la automatización de compilación y la integración continua de un proyecto eclipse rcp?

He usado maven2 para un pequeño proyecto antiguo de Java, pero nunca he configurado maven para usarlo con eclipse rcp.

¿Cuál es la mejor manera de hacerlo? ¿Conceptos básicos? Trampas comunes? ¿Hay algún tutorial o libro por ahí? Los tutoriales e información que encontré, parecían obsoletos o incompletos.

PD: El proyecto principal se dividirá en subproyectos (plug-in). Pero creo que esto es típico de los proyectos eclipse rcp.

+0

no creo que esta siendo un proyecto RCP cambiaría su proyecto Maven/continuo en absoluto, ¿verdad? –

+1

Sí. Eclipse RCP se basa en OSGi para la resolución de dependencias y maven es un sistema completamente diferente para la resolución de dependencias. Por desgracia no son (todavía) compatibles. Maven 3 puede resolver el problema, pero no se lanzará en un futuro cercano. – paulgreg

Respuesta

2

Como la mayoría de las preguntas de Maven, esto se resuelve mediante un enlace a un plug-in:

"pde-maven-plugin"

Otro consejo:

  1. utiliza el plug-in de montaje para construir la actualización sitio
  2. considere usar hudson en lugar de Continuum
0

Recientemente tuve el mismo problema: crear la aplicación RCP de eclipse a través de la integración continua.

no les haya aplicado todavía, pero he encontrado algunos artículos interesantes:

  1. Aquí es the documentation for Tycho
  2. Building Eclipse Plugins with Maven 2 en eclipse.org
  3. Build Eclipse RCP products using Maven 2 - how hard can it be? del blog de Immo HUNEKE
  4. He aquí un artículo sobre PDE build automation
  5. Aquí hay un shell script to automate JUnit test launch
+1

He intentado un par de horas Tycho en mi proyecto (compuesto por ~ 30 complementos y ~ 10 funciones) sin gran éxito. Tengo que tomar más tiempo o esperar a que Tycho sea más estable. – paulgreg

2

He estado luchando contra la integración maven2/Eclipse RCP desde hace algún tiempo. La clave no es tanto obtener su configuración correcta: puede lograr que funcione, eventualmente, mediante la ingeniería inversa del proceso de compilación de Eclipse en maven.

En mi experiencia, lo difícil es mantener todo al día. Cada vez que Eclipse revoluciona sus libs, se encontrará reescribiendo un montón de archivos pom para el último widget de RCP o lib de SWT. Naturalmente, CI ayuda con esto de alguna manera. El problema es que Eclipse y maven son muy particulares sobre la forma en que hacen el negocio de la construcción, y sus enfoques son bastante diferentes. Para empeorar las cosas, PDE dev (y Eclipse dev, en términos más generales) es alimentado por un montón de código de asistente, que a veces es bastante opaco en cuanto a lo que está sucediendo detrás de las escenas.

La pregunta que realmente debe hacerse es si vale la pena el esfuerzo. En mi caso particular, creo que ha sido así. (CI es demasiado bueno para vivir sin él). Pero la desventaja es que puede encontrarse siendo el "hombre de construcción", que puede tomar un tiempo valioso lejos del desarrollo real, que es probablemente lo que más disfruta.

+0

Otro comentario rápido: Dale a hudson un giro en lugar de continuo. Es realmente limpio y es muy fácil trabajar con él. – jasonnerothin

Cuestiones relacionadas