У меня есть набор исходных каталогов, каждый из которых содержит несколько взаимозависимых компонентов (каждый имеет набор компонентов и внутренних зависимостей). Каждый исходный каталог соответствует разной версии jar-файла, с которым нужно скомпилировать. Это можно было бы указать как что-то вроде
sourceSets {
v1c1 { java.srcDir "src-v1/c1" }
v1c2 { java.srcDir "src-v1/c2" }
v2c1 { java.srcDir "src-v2/c1" }
v2c2 { java.srcDir "src-v2/c2" }
}
configurations {
v1c1Implementation "group:library:1.0"
v1c2Implementation sourceSets.v1c1.output
v2c1Implementation "group:library:2.0"
v2c2Implementation sourceSets.v2c1.output
}
Это явно не поддерживаемый беспорядок, особенно с ростом количества версий. Я бы предпочел определить зависимости как что-то вроде
configurations {
c1Implementation "group:library:$ver"
c2Implementation sourceSets.c1.output
}
Это только определяет отношение внутри каждой версии, что намного более управляемо. Хотя это явно недействительный код. Есть ли способ заставить это, или что-то подобное, работать?