Vous pouvez déclarer des dépendances communes dans un script parent :
ext.libraries = [ // Groovy map literal
spring_core: "org.springframework:spring-core:3.1",
junit: "junit:junit:4.10"
]
À partir d'un script enfant, vous pouvez alors utiliser les déclarations de dépendance comme suit :
dependencies {
compile libraries.spring_core
testCompile libraries.junit
}
Pour partager les déclarations de dépendances avec des options de configuration avancées, vous pouvez utiliser les éléments suivants DependencyHandler.create
:
libraries = [
spring_core: dependencies.create("org.springframework:spring-core:3.1") {
exclude module: "commons-logging"
force = true
}
]
Plusieurs dépendances peuvent être partagées sous le même nom :
libraries = [
spring: [ // Groovy list literal
"org.springframework:spring-core:3.1",
"org.springframework:spring-jdbc:3.1"
]
]
dependencies { compile libraries.spring }
ajoutera alors les deux dépendances en une seule fois.
Le seul élément d'information que vous ne pouvez pas partager de cette manière est la configuration ( portée en termes de Maven) à laquelle une dépendance doit être affectée. Cependant, d'après mon expérience, il est préférable d'être explicite à ce sujet de toute façon.