Я рву на себе волосы из-за этого.Я перевел свои сценарии обратно к коду, представленному на страницах учебника 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 Docs), я пытаюсь получить каждый из сценариев сборкираспечатать текст, чтобы убедиться, что все настроено правильно.Моя конечная цель - правильно построить зависимости при выполнении 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"
}
Службы build.gradle
hello.doLast {
println "- I'm inside services"
}
В рамках проекта «Сценарии», когда я запускаю «gradle -q hello», я получаю следующие результаты:
I'm Scripts
I'm AnprDatabase
- I depend on Scripts
I'm Database
- I depend on Scripts
Почему не отображается текст «Я внутри базы данных» и «Я внутри служб»?Я немного сбит с толку этим.Я могу только предположить, что это как-то связано со структурой моего проекта.Кто-то может подтвердить, что это так?Если нет, то в чем проблема?Как уже упоминалось, я сократил свои сценарии до этого простого примера, так как я не мог заставить зависимости запускаться в каждом сценарии сборки проектов с использованием одной и той же структуры.
Огромная благодарность за любую предложенную помощь.