2011-08-09 15 views
13

Tenemos un viejo proyecto que se ha configurado así:Gradle: Cómo configurar la configuración multiproyecto con proyectos de lado a lado

. 
├── customizationProject 
│   ├── ejb 
│   └── services 
├── projectA 
│   ├── ejb 
│   └── shared 
├── projectB 
│   └── ejb 
└── projectC 
    ├── ejb 
    └── services 

La idea es que el customizationProject es donde el montaje final de la entrega aplicación ocurre, de hecho puede haber múltiples customizationProjects y pueden incluir múltiples configuraciones. Eso, sin embargo, no es el problema que estoy tratando de resolver.

Quiero hacer que el proyecto de personalización sea el proyecto de raíz lógico de los proyectos de gradle. ¿Cómo configuro los proyectos individuales, para que a) sepan que son parte de una compilación multiproyecto b) se pueden ejecutar correctamente, con diferentes ámbitos, p. simplemente ejecutando las pruebas de un subproyecto, mientras que también permite todas las pruebas que se ejecutarán en todos los proyectos?

+0

Este proyecto está construido actualmente con un guión de hormiga inestable, que no sabe nada sobre las dependencias. Quiero migrarlo a gradle ... – kungfoo

Respuesta

16

Esta es una estructura bastante fácil de usar con Gradle. Añadir un archivo a su directorio settings.gradle customizationProject con este contenido:

includeFlat 'projectA', 'projectB', 'projectC' 

Y se puede confirmar la estructura del proyecto de la línea de comandos:

$ gradle projects 
:projects 

------------------------------------------------------------ 
Root Project 
------------------------------------------------------------ 

Root project 'customizationProject' 
+--- Project ':projectA' 
+--- Project ':projectB' 
\--- Project ':projectC' 

La descripción del método includeFlat está disponible en el Gradle documentation.

Espero que ayude!

+2

Nota importante: debe ejecutar gradle en el directorio 'customizationProject' (donde está el archivo settings.gradle), de lo contrario no encontrará los proyectos. – robinst

Cuestiones relacionadas