Me estoy arrancando el pelo por esto. He desvinculado mis scripts del código provisto en las páginas de tutoriales de Gradle, ya que creo que estoy haciendo algo fundamentalmente erróneo o he entendido mal cómo se supone que una aplicación de múltiples proyectos se debe estructurar usando gradle.Creando un proyecto multi Java usando Gradle
Tengo tres proyectos java dentro de eclipse, con los tres que contienen un script build.gradle y solo uno que contiene un script settings.gradle. La estructura es la siguiente:
Scripts
-- build.gradle
-- settings.gradle
Database
-- build.gradle
Services
-- build.gradle
que estoy tratando de construir el 'Base de datos' y el proyecto 'Servicios' mediante el script de construcción en el proyecto 'Scripts'. Para crear el árbol del proyecto, tengo el siguiente código en settings.gradle:
include 'Services', 'Database'
project (':Services').projectDir = new File(settingsDir, "../Services")
project (':Database').projectDir = new File(settingsDir, "../Database")
Replicar el código en el tutorial varios proyectos (docs Gradle), estoy tratando de conseguir cada uno de los scripts de creación para imprimir sacar un poco de texto para asegurar que todo esté configurado correctamente. Mi objetivo final es tener las dependencias construidas correctamente cuando se ejecuta 'eclipseClasspath', para que todos los proyectos se compilen correctamente dentro de Eclipse. Sin embargo, ¡el texto no se está imprimiendo como esperaba!
A continuación se presentan lo que está contenido dentro de los tres guiones de construcción:
Scripts build.gradle
allprojects {
task hello << { task -> println "I'm $task.project.name" }
}
subprojects {
hello << {println "- I depend on Scripts"}
}
base de datos build.gradle
hello.doLast {
println "- I'm inside database"
}
Servicios build.gradle
hello.doLast {
println "- I'm inside services"
}
Dentro del proyecto 'Scripts', cuando corro 'Gradle -q hola', consigo los siguientes resultados:
I'm Scripts
I'm AnprDatabase
- I depend on Scripts
I'm Database
- I depend on Scripts
¿Por qué el texto '- Estoy dentro de la base de datos' y '-Estoy en el interior servicios que no aparecen? Estoy un poco desconcertado por eso. Solo puedo suponer que tiene algo que ver con la estructura de mi proyecto. ¿Alguien puede confirmar que este es el caso? Si no, ¿cuál es el problema? Como mencioné, he desvinculado mis scripts de este simple ejemplo, ya que no pude ejecutar las dependencias dentro de cada script de construcción de proyectos usando la misma estructura.
Agradecemos enormemente cualquier ayuda ofrecida.
Funciona bien para mí, 'gradle-1.0-milestone-3' – axtavt
Estoy usando la misma versión de gradle. ¿Su aplicación consiste en proyectos Java en la misma estructura que la mía? – ScreamingMage
Otra pregunta para usted axtavt, ¿se ejecuta su script de construcción desde su proyecto 'Scripts' equivalente o está en la raíz de los tres proyectos? Quiero probar y ejecutar el mío desde el proyecto 'Scripts' – ScreamingMage