Gradle中依赖项集不断变化的多个生成任务
我想针对不同的后端实现运行库测试。Gradle中依赖项集不断变化的多个生成任务,gradle,build.gradle,Gradle,Build.gradle,我想针对不同的后端实现运行库测试。 这些实现是通过Spring的魔力注入到我的项目中的 目前我通过改变线路来实现这一点 testImplementation group: 'org.mycorp.exmpl' name: 'redis-backend' version: '0.0.1' 到 到 (分别单击我的IntelliJ IDE中的“测试”) 这很麻烦。我想,我的构建管道无法做到这一点 在我的想象中,我将能够创造 一个任务testRedis,它依赖于任务buildRedisTestCl
这些实现是通过Spring的魔力注入到我的项目中的 目前我通过改变线路来实现这一点
testImplementation group: 'org.mycorp.exmpl' name: 'redis-backend' version: '0.0.1'
到
到
(分别单击我的IntelliJ IDE中的“测试”)
这很麻烦。我想,我的构建管道无法做到这一点 在我的想象中,我将能够创造
- 一个任务
,它依赖于任务testRedis
buildRedisTestClasses
- 一个任务
,它依赖于任务testMongo
buildMongoTestClasses
我在网上找到了一些提示,您可以使用以下内容:
dependencies {
testImplementation group: 'org.mycorp.exmpl', name: 'redis-backend', version: '0.0.1', configuration: 'redis'
testImplementation group: 'org.mycorp.exmpl', name: 'mongo-backend', version: '0.0.1', configuration: 'mongo'
}
但这正是我不再发现/理解的地方。
(正如你可能注意到的,我是一个gradle新手)尝试类似的东西:
./gradlew test -Dbackend=redis
dependencies {
if (System.getProperty("backend") == "redis") {
implementation "org.mycorp.exmpl:redis-backend:0.0.1"
} else {
implementation "org.mycorp.exmpl:mongo-backend:0.0.1"
}
}
甚至:
./gradlew test -Dbackend=redis-backend:0.0.1
implementation "org.mycorp.exmpl:${System.getProperty("backend")}"
使用建议的默认值将其设置为项目属性-Pbackend
看
dependencies {
testImplementation group: 'org.mycorp.exmpl', name: 'redis-backend', version: '0.0.1', configuration: 'redis'
testImplementation group: 'org.mycorp.exmpl', name: 'mongo-backend', version: '0.0.1', configuration: 'mongo'
}
./gradlew test -Dbackend=redis
dependencies {
if (System.getProperty("backend") == "redis") {
implementation "org.mycorp.exmpl:redis-backend:0.0.1"
} else {
implementation "org.mycorp.exmpl:mongo-backend:0.0.1"
}
}
./gradlew test -Dbackend=redis-backend:0.0.1
implementation "org.mycorp.exmpl:${System.getProperty("backend")}"