Я отвечаю на свой вопрос Если у кого-то еще есть такая же проблема.
Я хотел установить порядок сборки для многопроектного приложения grails (Основное приложение, которое зависело от нескольких плагинов grails, расположенных в отдельных папках).
В итоге я объявил dependsOn()
в каждом файле сборки подпроекта.
Пример: Мое основное приложение зависит от плагина A и плагина B.PluginB зависит от PluginC
В моем корне build.gradle
я объявил:
dependsOnChildren()
и в своем корне settings.gradle
Я объявил:
include "pluginA","pluginB","pluginC"
В плагине B: s build.gradle файл, который я объявил
dependsOn(":pluginC")
Это решило мою проблему.Однако также появилась другая проблема: тесты для каждого плагина были скомпилированы, но не выполнены.
Я нашел решение для этого @ GRAILS-7296
Я создалФайл _Events.groovy
в папке scripts
для каждого подпроекта и включает:
// Override to workaround GRAILS-7296
org.codehaus.groovy.grails.test.support.GrailsTestTypeSupport.metaClass.getSourceDir = { ->
new File(delegate.buildBinding.grailsSettings.testSourceDir, delegate.relativeSourcePath)
}
Это решило все мои проблемы, и теперь у меня есть приложение multiproject-grails, которое использует Gradle для сборки.