À la suite de l'examen de chacun des éléments suivants, il semble que la gestion de la cible avec la propriété outside + array soit transparente et facile à maintenir. J'ai évoqué divers projets open source et les opinions d'autres ingénieurs.
build.gradle
dependencies {
// JUnit
testCompile group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: '5.2.0'
testCompile group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: '5.2.0'
testCompile group: 'org.junit.jupiter', name: 'junit-jupiter-params', version: '5.2.0'
}
build.gradle
def junitVersion = '5.2.0'
dependencies {
// JUnit
testCompile group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: junitVersion
testCompile group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: junitVersion
testCompile group: 'org.junit.jupiter', name: 'junit-jupiter-params', version: junitVersion
}
Puisqu'il est possible que Gradle souffre du nom de propriété que Gradle utilise déjà, nous avons décidé de gérer la clé de la propriété faite à la main dans le cas supérieur du serpent. En dehors de cela, c'est environ la moitié et la moitié avec la gestion des minuscules séparées par des points. Je pensais que si je le mettais dans le boîtier supérieur du serpent, il ne chevaucherait pas au moins celui à l'intérieur de Gradle, alors je l'ai fait.
gradle.properties
LIBRARY_VERSION_JUNIT=5.2.0
build.gradle
def junitVersion = (String) project.LIBRARY_VERSION_JUNIT
dependencies {
// JUnit
testCompile group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: junitVersion
testCompile group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: junitVersion
testCompile group: 'org.junit.jupiter', name: 'junit-jupiter-params', version: junitVersion
}
gradle.properties
LIBRARY_VERSION_JUNIT=5.2.0
build.gradle
def libraryVersions = [
junit: (String) project.LIBRARY_VERSION_JUNIT,
]
dependencies {
testCompile group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: libraryVersions.junit
testCompile group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: libraryVersions.junit
testCompile group: 'org.junit.jupiter', name: 'junit-jupiter-params', version: libraryVersions.junit
}
L'avantage est que libraryVersions.