Я рву себе волосы из-за этого. Я убрал свои скрипты обратно к коду, представленному на страницах руководства по Gradle, так как я думаю, что либо делаю что-то в корне неправильно, либо неправильно понимаю, как предполагается структурировать многопроектное приложение с использованием gradle.
У меня есть три java-проекта в eclipse, все три содержат сценарий build.gradle и только один содержит сценарий settings.gradle. Структура выглядит следующим образом:
Scripts
-- build.gradle
-- settings.gradle
Database
-- build.gradle
Services
-- build.gradle
Я пытаюсь построить проект «База данных» и «Службы», используя сценарий сборки в проекте «Сценарии». Чтобы создать дерево проекта, у меня есть следующий код в settings.gradle:
include 'Services', 'Database'
project (':Services').projectDir = new File(settingsDir, "../Services")
project (':Database').projectDir = new File(settingsDir, "../Database")
Репликация кода в многопроектном учебнике (документы gradle), я пытаюсь заставить каждый из сценариев сборки распечатать некоторый текст, чтобы убедиться, что все настроено правильно. Моя конечная цель - правильно построить зависимости при выполнении 'eclipseClasspath', чтобы все проекты правильно компилировались в eclipse. Однако текст распечатывается не так, как я ожидал!
Ниже приводится то, что содержится в трех сценариях сборки:
Сценарии build.gradle
allprojects {
task hello << { task -> println "I'm $task.project.name" }
}
subprojects {
hello << {println "- I depend on Scripts"}
}
База данных build.gradle
hello.doLast {
println "- I'm inside database"
}
Services build.gradle
hello.doLast {
println "- I'm inside services"
}
] В проекте 'Scripts', когда я запускаю 'gradle -q hello', я получаю следующие результаты:
I'm Scripts
I'm AnprDatabase
- I depend on Scripts
I'm Database
- I depend on Scripts
Почему текст '- Я внутри базы данных' и '-Я внутри служб' не отображается ? Я немного озадачен этим. Я могу только предполагать, что это как-то связано со структурой моего проекта. Может кто-нибудь подтвердить, что это так? Если нет, то в чем проблема? Как уже упоминалось, я сократил свои сценарии до этого простого примера, так как я не мог заставить зависимости запускаться в каждом сценарии сборки проекта с использованием одной и той же структуры.
Большое спасибо за любую предложенную помощь.