Вы можете легко достичь желаемого, используя значение по умолчанию Gradle apply from: 'other.gradle'
, поэтому никаких дополнительных плагинов не требуется.
В моем проекте микросервиса я использую что-то вроде этого:
общего Gradle / env.gradle
apply plugin:'groovy'
ext.compile = [ 'joda-time:joda-time:2.9.1', 'cglib:cglib:3.2.9` ]
ext.testCompile = [ 'org.spockframework:spock-core:1.3-groovy-2.5' ]
общего Gradle / dependencies.gradle
dependencies {
compile ext.compile
testCompile ext.testCompile
}
И использование
SERVICE_A / build.gradle
apply from:'../common-gradle/env.gradle'
ext.compile << 'ch.qos.logback:logback-classic:1.2.3'
apply from:'../common-gradle/dependencies.gradle'
Таким образом, каждый из моих build.gradle
файлов содержит только 3-5 строк критической информации, такой как название проекта и версия.
Вам не нужно импортировать common-gradle
как проект в вашей IDE, вы можете просто использовать символические ссылки, чтобы избежать использования внешних ссылок. Кроме того, во время сборки на конвейере, подобном Jenkins, единственное, что вам нужно сделать, это проверить репо common-gradle
в вашем рабочем каталоге.