Gruppieren weniger SourceSets mit genau derselben Konfiguration
Sagen wir, ich habe die folgendensourceSets
:
sourceSets {
flavor1 {
assets.srcDirs = ['repo-assets/flavor1']
res.srcDirs = ['repo-res/flavor1']
}
flavor2 {
assets.srcDirs = ['repo-assets/flavor2']
res.srcDirs = ['repo-res/flavor2']
}
flavor3 {
assets.srcDirs = ['repo-assets/flavor1']
res.srcDirs = ['repo-res/flavor1']
}
flavor4 {
assets.srcDirs = ['repo-assets/flavor2']
res.srcDirs = ['repo-res/flavor2']
}
}
Falls du bemerkstflavor1
undflavor3
habe das gleiche srcDirs und @ auflavor2
undflavor4
.
Ich habe versucht herauszufinden, ob es einen Weg gibt, die Redundanz zu vermeiden, indem ich so etwas benutze:
sourceSets {
flavor1, flavor3 {
assets.srcDirs = ['repo-assets/flavor1']
res.srcDirs = ['repo-res/flavor1']
}
flavor2, flavor4 {
assets.srcDirs = ['repo-assets/flavor2']
res.srcDirs = ['repo-res/flavor2']
}
}
Das oben genannte funktioniert nicht (bereits ausprobiert). Auf der Suche nach etwas Ähnlichem, damit ich nur einen gemeinsamen Satz von @ bereitstellen kasourceDirs
für eine Reihe von Aromen. Hat jemand versucht, etwas Ähnliches zu tun und kann ein paar Hinweise geben?
Hat der Name vonsourceSets
Müssen die gleichen sein wie die von Aromen?
Kann ich das @ nennsourceSets
separat und ordnen Sie sie dannproductFlavors
so was
productFlavors {
flavor1 {
sourceset = "src1"
}
flavor2 {
sourceset = "src2"
}
flavor3 {
sourceset = "src1"
}
flavor4 {
sourceset = "src2"
}
}
sourceSets {
src1 {
}
src2 {
}
}
Trying Possibility # 3Können die Sourcesets über Tasks dynamisch zugewiesen werden, um dasselbe zu erreichen?
AKTUALISIEREDouglas's Antwort Art half mir sehr nah an das, was ich suchte schließlich (Reduzierung des Codes in build.gradle). Er benutzte die Möglichkeit Nr. 3 oben. Vielen Dank, Douglas! Jede bessere Alternative von Kopfgeldjägern ist immer noch willkommen (etwas näher an den Möglichkeiten Nr. 1 und Nr. 2 oben). Wenn nichts aufkommt, ist Douglas bereits Kopfgeld, wenn die Frist endet, da ich seine Antwort akzeptiert habe. Aber ich werde trotzdem optimistisch bleiben, eine bessere Alternative zu finden.