Cuando se aplica una estructura de múltiples Gradle proyecto para nuestro proyecto, mis settings.gradle se ve así:proyecto de varios Gradle construir con proyectos vacíos
include "source:compA:api"
include "source:compA:core"
include "source:compB"
proyectos Gradle dame
Root project 'tmp'
\--- Project ':source'
+--- Project ':source:compA'
| +--- Project ':source:compA:api'
| \--- Project ':source:compA:core'
\--- Project ':source:compB'
¡Esta es exactamente la estructura del directorio!
En mi directorio raíz que tienen una build.gradle que se aplica el plugin de Java para todos los subproyectos:
subprojects {
apply plugin: 'java'
}
Cuando la construcción que acaban de tener artefactos para : Fuente: Compa que están vacías porque se trata de en realidad no es un proyecto, solo los subdirectorios api y core son proyectos propios de Java.
¿Cuál es la mejor manera de evitar tener un artefacto vacío?
¿Por qué no solo aplica el plugin de Java a api y core en sus respectivos scripts? –
Podría hacerlo, pero la estructura real de mi proyecto está mucho más anidada, con muchos proyectos. Creo que este es un problema común para las estructuras de proyectos heredados. Y estoy buscando una solución flexible, donde cada proyecto no necesita saber mucho sobre el proceso de construcción en el que vive. – VolkerK
En mi humilde opinión, el submódulo debería saber explícitamente que se trata de un proyecto de Java. Esto hará que sea mucho más expresivo para cualquiera que lo mire que para declarar esta información en el nivel raíz. –