2009-02-16 13 views
6

? No entiendo buckminster en absoluto. Digamos que tengo un proyecto, y necesita log4j y junit4. Cómo empiezo, qué debo hacer, especificar las dependencias y las dependencias agregadas a mi classpath en eclipse. ¿Hay algún tutorial que muestre cómo se hace?¿Hay un ejemplo SIMPLE de Cómo usar buckminster

Respuesta

9

Encontré buckminster brillante, pero terriblemente documentada (lo sé, lo sé, debo contribuir).

Estaba buscando algo para construir productos RCP. No voy a hablar mucho más sobre esto, pero voy a decir lo que funcionó para mí:

  • El "webinar" me mostró más o menos lo que podía hacer, y me encontré volviendo a ella un par de veces para empezar.
  • Intente hacer que su proyecto se revise en su espacio de trabajo. Esto implica:
    1. la instalación de Buckminster en su instalación de Eclipse
    2. crear un pequeño archivo CQUERY, que es de 3 líneas de XML contando Buckminster lo que a la salida.
    3. creando un archivo RMAP para sus proyectos. Encontré esto dogfood2.rmap muy útil.

Afortunadamente, soy capaz de ignorar por completo los archivos CSPEC, ya que pueden ser inferidas a partir de los metadatos existentes (es decir, desde MANIFEST.MF, plugin.xml, .product archivos. Creo que se puede trabajar de los archivos .project y .classpath , pero yo no _k_now) Del mismo modo, ignoraría los archivos BOM por ahora.

Una vez que había materializado un espacio de trabajo con éxito, podría continuar y tratar de replicarlo sin cabeza.

Esto article Encontré útil crear una instalación para Buckminster adecuada para implementar como parte de nuestra integración continua.

En este punto, he pensado mucho sobre las relaciones entre los proyectos de Eclipse utilizados para construir el producto. Nos instalamos en un árbol (sic) con dos ramas principales - la rama de productos y la rama de prueba:

  • cquery apunta a un build.feature
  • build.feature apunta a un product y una test.product.
  • product apunta a las características foo.feature, foo.ui.feature, bar.feature, bar.ui.feature. Cada una de estas características apuntan a complementos o características.
  • test.product apunta a foo.test.feature, foo.ui.test.feature, bar.test.feature, bar.ui.test.feature. Cada una de estas características apuntan a fragmentos de prueba que pueden ejercer los complementos del producto.

Por "apuntar a", quiero decir que la característica o cquery lo especifica como una dependencia. (Parece que no puedo hacer que funcione el encabezado Require-Bundle en el archivo de manifiesto, así que ponga todo en feature.xml).

Encontré jugar en la línea de comando muy útil en esta etapa. Los comandos resolve y build los encontré más útiles. También encontré la configuración del output property útil aquí.

Una vez que pude compilar (es decir, compilar) todo correctamente, empaquetarlo como producto fue lo siguiente. El uso del comando perform para una acción (create.*.product) especificada en un archivo CSPEC inferido generado a partir de un archivo .product era difícilmente intuitivo, pero ayudaba a tener un buen producto conocido capaz de exportarse como un producto del IDE.

Lo último que hice fue encontrar el comando setenv (creo), que ayudó a establecer la versión de Java utilizada para compilar el código. Hay un pequeño número de propiedades que puede establecer, pero este fue el que necesitaba.

OtherlinksI también encontrado últimamente, ese parece útil.

+0

Aunque es una gran descripción de la bondad de Buckminster, esto realmente no responde a la pregunta ... –

+0

¿Sería posible para usted publicar su CQUERY y RMAP aquí? – geejay

+0

Desafortunadamente @geejay, esto fue en clientes anteriores. Por estas dos razones, lamentablemente, no. – jamesh

5

nueva documentación de Buckminster se está produciendo en este momento. El primer "corte aproximado" contiene una introducción (basada en la charla de Eclipse '09), RMAP y CQUERY explicados completamente, detalles sobre propiedades y versiones. Estos capítulos tienen alrededor de 70 páginas y están casi terminados. Más capítulos y ejemplos a seguir. Espero hacer un nuevo borrador disponible semanalmente.

Puede obtenerlo aquí: http://www.eclipse.org/downloads/download.php?file=/tools/buckminster/doc/BuckyBook.pdf (6MB).

0

Para un inicio rápido en la construcción, recomiendo el tutorial Headless Eclipse RCP builds with Buckminster and Hudson, aunque no cubre la materialización.

Como Henrik menciona el bucky book también conocido como "La guía definitiva" proporciona una buena documentación en profundidad, desde la descripción general del concepto hasta las especificaciones xml.