Estoy tratando de uniformar mi entorno para desarrollo Java (y eventualmente otros lenguajes) con Eclipse y unos cuantos plugins. Hasta el momento tengo elegidos:
1) Eclipse IDE for Java Developers (mejor que la edición para Java empresarial, es “más configurable”)
2) Subclipse, para conectar a Subversion (por el momento es suficiente, en algún momento evaluaré el cambio a Bazaar o Mercurial).
3) Apache Ivy, para gestión de dependencias (no me convence Maven, porque siento que hace muchas cosas). Pendiente: investigar como crear mi propio repositorio público.
4) TestNG, para pruebas automáticas (JUnit no me gusto al principio, y después ya fue tarde, TestNG es mucho más fácil de usar).
5) Hudson-eclipse, para conectar con Hudson (por el momento sólo lo tengo instalado).
6) Findbugs, para analizar estáticamente el código fuente (además de PMD y Checkstyle, pero todavía no me decido a mantenerlos).
Adicionalmente, tengo instalados VisualSVN (distribución de Subversion para Windows, que permite delegar la autenticación al dominio), Ant 1.8 (en Eclipse: Preferences -> Ant -> Runtime: Ant Home, permite cambiar la ubicación del Ant usado para compilar los proyectos. En Hudson: Administrar Hudson -> Configurar Sistema -> Ant: Añadir Ant, eventualmente deseleccionar la opción de descarga) y Tomcat6 (donde instale Hudson).
Visualizo algunos “problemas” de integración (que podrían no ser tales):
- Ant con Eclipse y con Hudson. La idea es utilizar el mismo build.xml para Eclipse, Hudson (y eventualmente, la linea de comandos si fuera necesario).
- Apache Ivy con Hudson e Ivy con Eclipse, la misma idea anterior, mantener sólo un Ivysettigs.xml y sólo un Ivy.xml por proyecto Eclipse (que además debería ser el mismo que use Hudson para el build).
Por el momento, tanto Eclipse como Hudson permiten utilizar un IvySettigs.xml centralizado (En Eclipse, Preferences -> Ivy -> Settings: Ivy Settings Path; en Hudson, (estando instalado el plugin respectivo), Administrar Hudson -> Configurar el sistema -> Ivy: Ivy Setting: Settings File) . Tengo que ver lo de los proyectos, y como engancho con ANT. A medida que vaya realizando esto, voy actualizando este post.
Actualización: Ivy tiene problemas con TestNG, porque este último no cumple el patrón de nombres esperado ([artifact]-[revision].[ext]). Por ahora, no queda otra que agregar la dependencia manualmente en Eclipse.