首页 > 解决方案 > Gradle 自定义任务输入属性

问题描述

我在这里遵循了 gradle 用户指南。以下代码片段不会产生与用户指南中相同的输出。

class GreetingTask extends DefaultTask {
    @Input
    String greeting = 'hello from GreetingTask'

    @TaskAction
    def greet() {
        println greeting
    }
}

// Use the default greeting
task hello(type: GreetingTask)

// Customize the greeting
task greeting(type: GreetingTask) {
    greeting = 'greetings from GreetingTask'
}

gradle -q hello 问候的输出

Line 1: hello from GreetingTask
Line 2: hello from GreetingTask

gradle -q 问候的输出

Line 1: hello from GreetingTask

Line 1 和 Lin 2 的两个输出是相同的。但是, greeting任务应该greetings from GreetingTask根据用户指南输出,但我无法得到相同的结果。我的毕业版本 6.8.3

我不知道我是否做错了什么或者为什么我的结果不一样?

标签: gradle

解决方案


我从第一个示例中如下所示:

class GreetingTask extends DefaultTask {
    @TaskAction
    def greet() {
        println 'hello from GreetingTask'
    }
}

并忘记将字符串更改"println 'hello from GreetingTask"greeting


推荐阅读