加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

groovy – Gradle:如何配置buildSrc或跳过主项目的测试?

发布时间:2020-12-14 16:22:12 所属栏目:大数据 来源:网络整理
导读:我在buildSrc构建中有一些相当长的测试,我有时想在开发期间跳过这些测试,以查看模板更改的效果.它是一个报告生成器,有时我只想调整模板而不必更新所有测试;然后,当我对输出感到满意时,我会更新它们. 我能够使用以下配置在buildSrc build.gradle中实现跳过测
我在buildSrc构建中有一些相当长的测试,我有时想在开发期间跳过这些测试,以查看模板更改的效果.它是一个报告生成器,有时我只想调整模板而不必更新所有测试;然后,当我对输出感到满意时,我会更新它们.

我能够使用以下配置在buildSrc build.gradle中实现跳过测试:

test {
    // skip all tests if gradle run with -Pnotests
    try { if (project.ext.notests != null)
        println "skipping tests"
        exclude '**'
    } catch (MissingPropertyException e) {}
}

(如果您有更好的方法来检测可选参数,我很乐意看到它)

但是,这不适用于主gradle项目.我已经尝试了所有我能想到的尝试通过配置传递参数,没有设置环境变量,但我怀疑这也会有用.

一般来说,我发现无法从主项目中配置buildSrc.我找不到任何方法来获取变量,例如project.ext.foo或ext.foo,也没有办法配置buildSrc’项目’,因为main build.gradle中没有任何部分.就像它存在于自己的岛屿上一样.我试过了:

> project.ext.notests = true
>在主要测试{…}
> allprojects {test {…}}
>子项目{test {…}}
>依赖{test {…}}
> buildscript {test {…}}

有没有解决方法,或者我是否必须重构我的整个项目以将报告代码移动到其他位置,然后我可以配置它并跳过测试?

提前致谢.

解决方法

buildSrc是一个单独的构建(而不是项目),我不知道在触发主构建时影响其执行的方法. (请注意,构建buildSrc是评估主构建的构建脚本的先决条件.)我能想到的一些解决方案:

>根据需要无条件地禁用buildSrc测试(例如,通过在buildSrc / build.gradle中设置test.disabled = true)
>将buildSrc分解为单独的构建
>更改测试,使其对模板更改不敏感
>将对模板更改敏感的测试移动到仅手动触发的单独测试任务中

PS:从命令行跳过构建测试的最简单方法是-x test.可以使用project.hasProperty(“foo”)检测项目属性foo的存在.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读