针对多种版本的库进行编译

时间:2019-11-01 09:46:43

标签: java gradle

我有一组源目录,每个目录包含多个相互依赖的组件(每个都有一组组件和内部依赖项)。每个源目录对应于要针对其进行编译的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
}

这仅指定每个版本内部的关系,该关系更易于管理。不过,这显然不是有效的代码。有什么办法可以使它或类似的东西起作用?

0 个答案:

没有答案