Beaucoup de mes pots ont des dépendances transitives conflictuelles (plusieurs versions de printemps). Je voudrais éviter les conflits de version hérités en gérant toutes mes dépendances de manière explicite, est-il possible de désactiver toutes les dépendances transitives dans Gradle?
Je sais que je peux ajouter transitive = false
à chacune de mes dépendances, mais j'espère qu'il existe un moyen plus simple.
compile(group: 'org.springframework', name: 'spring', version: '2.5.2') {
transitive = false
}
J'ai fini par utiliser:
configurations.all {
transitive = false
}
Si vous souhaitez avoir un seul bloc de configuration pour toutes les configurations, vous pouvez utiliser l'opérateur de point de dispersion pour l'exprimer.
configurations {
// other configurations e.g. - compile.exclude module: 'commons-logging'
all*.transitive = false
}
Dans mon cas, j'avais une dépendance de projet (module gradle). J'ai utilisé ce qui suit pour exclure les dépendances transitives dans Gradle 3:
implementation(project(':<module_name>')) {
transitive = false
}