2017-12-12 1 views
1

Ich benutze eine Bibliothek, die eine transitive Abhängigkeit von einem Modul hat, nehmen wir an "abc.xyz:abc-module:1.1.1", das Problem ist jedoch, alle Module aus dieser Gruppe sind in meinem Build ausgeschlossen. Gradle aus irgendeinem Grund mitGibt es eine Möglichkeit, ein bestimmtes Modul aus einer Gruppe aufzunehmen, während Ruhe in Gradle ausgeschlossen wird?

configurations { 
    compile.exclude group: "abc.xyz" 
} 

Es verursacht, dass transitive Abhängigkeit wie erwartet ignoriert werden. Gibt es einen Weg, den ich nur angeben kann, um abc-Modul einzuschließen, während das restliche wie vorher ausgeschlossen wird?

Antwort

0

Ich glaube, Sie sollten in der Lage sein zu tun, was Sie mit einer Komponente Auswahlregel wollen wie

configurations { 
    compile { 
     resolutionStrategy { 
      componentSelection { 
       all { ComponentSelection selection -> 
        if (selection.candidate.group == 'abc.xyz' && selection.candidate.module != 'abc-module') { 
         selection.reject('Dependencies from group "abc.xyz" except of "abc-module" are not allowed.') 
        } 
       } 
      } 
     } 
    } 
} 
Verwandte Themen