groovy - 将属性传递给自定义 gradle 任务

标签 groovy gradle

如何将属性传递给 gradle 自定义任务?在 ant 中,它看起来像这样:

public class MyCustomTask extends Task {

    private String name;
    private String version;

    @Override
    public void execute() throws BuildException {
        // do the job
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setVersion(String version) {
        this.version = version;
    }

}

如何在gradle中做到这一点?
class MyCustomTask extends DefaultTask {

    private String name
    private String version

    @TaskAction
    def build() {
        // do the job
    }

}

属性名称和版本是必需的,用户需要将它们传递给任务。

最佳答案

我找到了解决方案:

class MyCustomTask extends DefaultTask {

    @Input
    String name
    @Input
    String version

    @TaskAction
    def build() {
        // do the job
        println name
        println version
    }

}

使用示例:
task exampleTask(type: MyCustomTask) {
    name = "MyName"
    version = "1.0"
}

关于groovy - 将属性传递给自定义 gradle 任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16934632/

相关文章:

groovy - Gradle 找不到 JavaFX 类

groovy - Groovy Postbuild 如何检查先前构建后操作的日志消息

database - 多次插入 mongodb - 只有第一个集合得到更新

gradle - Gradle 脚本是用 Groovy 编写的吗?

安卓工作室 : How to remove/filter build variants for default debug and release buildTypes and keep only those using custom buildTypes?

c++ - 如何从应用程序子项目中的gradle子项目链接静态库

Groovy:如何访问已在 DataSource 中设置的值

java - 从 cmd 运行时 Spring Boot 加载测试数据库

Gradle - PMD/FindBugs 的默认配置

Gradle:无法从外部构建脚本配置 Artifactory