标签: gradle-custom-plugin

以编程方式在单元测试中调用gradle任务图

我正在为gradle编写一个自定义插件,作为单元测试的一部分,我想调用我的任务,但在此之前执行必备任务.

不幸的是,实际的插件是一个内部项目,所以我无法确定确切的来源,但我已经准备了一个单元测试来演示这个问题:

package toy

import org.gradle.api.Project
import org.gradle.testfixtures.ProjectBuilder
import org.junit.Test

class ToyTasksTest {

    boolean task1Run = false
    boolean task2Run = false

    @Test
    public void taskDependencies(){


        Project p = ProjectBuilder.builder().build()

        p.task("task1") << {
            p.logger.info("task1 running")
            task1Run = true
        }

        def task2 = p.task("task2", dependsOn: 'task1') << {
            p.logger.info("task2 running")
            task2Run = true
        }
        task2.execute() // <--- what magic do I need here instead of .execute()

        assert task2Run == true
        assert task1Run == true
    }
}
Run Code Online (Sandbox Code Playgroud)

输出是:

Assertion failed: 

assert task2Run == …
Run Code Online (Sandbox Code Playgroud)

gradle gradle-custom-plugin

12
推荐指数
1
解决办法
4189
查看次数

如何依赖Gradle中的所有*compile和*testCompile任务

我想在animalSniffer插件中有一个任务依赖于所有源集中所有生产类(Java,Groovy,Scala)的编译,第二个任务依赖于所有源集中所有测试类的编译(可能是单独的testintegrationTest).

我不想依赖*classes任务,因为*classes任务应该依赖于animalSniffer任务(在编译后检测Java版本API不兼容并且可以停止构建).

在Gradle中有没有比检查AbstractCompile任务名称实例是否以"compileTest"开头更好的方法?

java groovy gradle gradle-custom-plugin

6
推荐指数
1
解决办法
1187
查看次数

Gradle 自定义插件任务 .dependsOn 与命令行参数

我正在开发一个依赖于另一个插件的自定义 Gradle 插件。对于要运行的特定任务,我必须首先从外部插件运行任务。

project.tasks.create("MyTaskName", MyTaskName) {
    it.description = "MyDescription"
}.dependsOn("taskFromOtherPlugin")
Run Code Online (Sandbox Code Playgroud)

到目前为止,我只是使用基本功能。但是,我需要推断其他任务插件的命令行参数。手动运行外部任务时,它只是:

gradle taskFromOtherPlugin --parameter1 value1
Run Code Online (Sandbox Code Playgroud)

如何将 --parameter1 value1 放入 .dependsOn 结构中?所以我需要的是类似的东西

project.tasks.create("MyTaskName", MyTaskName) {
    it.description = "MyDescription"
}.dependsOn("taskFromOtherPlugin --parameter1 value1")
Run Code Online (Sandbox Code Playgroud)

gradle gradle-custom-plugin

5
推荐指数
0
解决办法
311
查看次数

标签 统计

gradle ×3

gradle-custom-plugin ×3

groovy ×1

java ×1