gpt4 book ai didi

groovy - 如何运行由 gradle 中的插件创建的任务

转载 作者:行者123 更新时间:2023-12-02 04:51:58 25 4
gpt4 key购买 nike

我写了一个 gradle 插件,它添加了一个名为 generateTestDocs 的自定义任务,这取决于任务 groovydoc , 它本身是由 groovy 创建的插件。

//MyPlugin.groovy
@Override
void apply(Project project) {
project.apply(plugin: 'groovy')
project.task(type: GenerateTestDocsTask, dependsOn: ':groovydoc', 'generateTestDocs')
}

project.tasks.groovydoc.doFirst {
println "I should see this message but I don't"
}

我正在尝试通过运行任务 generateTestDocs 来测试这个插件

@Test
void testRunGenerateTestDocs() {
Project project = ProjectBuilder.builder().build()
project.apply(plugin: 'my.gradle.plugin')
project.tasks.generateTestDocs.actions*.execute(project.tasks.generateTestDocs)
}

对于我测试的最后一行,我只想说 project.task.generateTestDocs.execute()并让它运行具有所有依赖项的任务,但这似乎不起作用。编写 gradle 插件的文档只显示像 assertTrue(project.tasks.hello instanceof GreetingTask) 这样的断言。它显示任务已添加到项目中,但未显示如何运行该任务。

最佳答案

ProjectBuilder 仅用于单元测试。要将构建作为测试的一部分运行,您需要使用 Gradle 工具 API 或第三方插件,例如 nebula-test (它建立在工具 API 的基础上)。

关于groovy - 如何运行由 gradle 中的插件创建的任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27367808/

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