gpt4 book ai didi

groovy - 任务的 gradle 配置

转载 作者:行者123 更新时间:2023-12-03 05:16:26 25 4
gpt4 key购买 nike

我有带有插件的 gradle 构建脚本:groovy , jacocomaven .
在 jars 旁边的依赖项中是:

testCompile group: 'org.spockframework', name: 'spock-core', version: '0.7-groovy-2.0'
现在当我创建 task integTest(Type: Test)和 :
configurations{
integTestCompile {
extendsFrom testCompile
}
integTestRuntime {
extendsFrom integTestCompile
}
}
一切正常,但我想添加一些模块化,现在所有 integTest 任务都是这样创建的:
task "${module}_${suite}" (type: Test)
当我尝试在配置中实现相同的更改时,出现错误:
Could not find method ModuleName_Suite1Runtime() for arguments [build_55s7pmm2c6k8n8e2n1i59t3b5b$_run_closure5_closure28_closure29_closure31@3394214b] on root project 'projectName'.
为了
configurations {
"${module}_${suite}Compile"{
extendsFrom testCompile
}
"${module}_${suite}Runtime"{
extendsFrom "${module}_${suite}Compile"
}
}
和另一个配置不同的错误:
No signature of method: java.lang.String.extendsFrom() is applicable for argument types: (org.gradle.api.internal.artifacts.configurations.DefaultConfiguration_Decorated) values: [configuration ':testCompile']
为了
configurations{
"${module}_${suite}Compile".extendsFrom(testCompile)
"${module}_${suite}Runtime".extendsFrom("${module}_${suite}Compile")
}
没有“taskName+Compile”和“taskName+Runtime”,我得到了 spock 规范的 ClassNotFound 异常。所以我确定我需要像以前的版本一样。
我很确定这很简单,但我在谷歌上找不到任何提示。
任何帮助,将不胜感激。

最佳答案

configurations {...} 中使用的语法 block 是通过一些 Groovy 魔术实现的,不幸的是,当您使用 String 文字时不会调用这些魔术。相反,如果您想使用动态名称创建配置,您需要调用 create() ConfigurationsContainer 上的方法.

configurations.create("${module}_${suite}Compile") {
extendsFrom configurations.testCompile
}

关于groovy - 任务的 gradle 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27828618/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com