Вы можете объявить общие зависимости в родительском скрипте:
ext.libraries = [ // Groovy map literal
spring_core: "org.springframework:spring-core:3.1",
junit: "junit:junit:4.10"
]
Из дочернего скрипта вы можете использовать объявления зависимостей следующим образом:
dependencies {
compile libraries.spring_core
testCompile libraries.junit
}
Для совместного использования объявлений зависимостейс расширенными параметрами конфигурации вы можете использовать DependencyHandler.create
:
libraries = [
spring_core: dependencies.create("org.springframework:spring-core:3.1") {
exclude module: "commons-logging"
force = true
}
]
Несколько имен могут быть разделены под одним именем:
libraries = [
spring: [ // Groovy list literal
"org.springframework:spring-core:3.1",
"org.springframework:spring-jdbc:3.1"
]
]
dependencies { compile libraries.spring }
будет добавлять обе зависимости одновременно.
Единственная часть информации, которой вы не можете поделиться таким образом, - это какая конфигурация ( scope в терминах Maven) должна быть назначена зависимость.Однако, по моему опыту, в любом случае лучше об этом говорить прямо.