Gradle 自定义任务选项没有值

标签 gradle gradle-plugin

我正在开发一个自定义 gradle 任务,我希望有一个选项,它的作用类似于标志并且不需要值。

我只是想检查它是否已设置

基本上:我可以使用插件 gradle my-taskgradle my-task --flag 并能够检查是否 --flag code> 是否存在来定义插件处理。

我在官方文档中找不到任何内容

最佳答案

Gradle 4.6 起可使用任务的自定义命令行选项通过 @Option 任务属性 setter 上的注释。文档链接:Declaring and Using Command Line Options .

根据文档,通过boolean支持无值命令行选项。属性。

boolean, Boolean, Property<Boolean>

Describes an option with the value true or false. Passing the option on the command line treats the value as true. For example --enabled equates to true. The absence of the option uses the default value of the property.

(未经测试)示例:

import org.gradle.api.tasks.options.Option;

public class MyTask extends DefaultTask {
    private boolean flag;

    @Option(option = "flag", description = "Sets the flag")
    public void setFlag(boolean flag) {
        this.flag = flag;
    }

    @Input
    public boolean isFlag() {
        return flag;
    }

    @TaskAction
    public void doWork() {
        if (flag) {
            getLogger().quiet("Flag is present");
        }
    }
}

关于Gradle 自定义任务选项没有值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61502338/

相关文章:

android - 如何在多模块项目中配置 Flutter 模块

java - 使用 Gradle 构建的应用程序从 IDE 成功启动,但无法从控制台启动

java - Android Gradle:未找到插件ID Java库

spring - 使用 gradle 依赖插件的快照版本(...为了测试 gradle-3.0Mx)

java - Gradle 项目在 IntelliJ 中运行 jUnit 5 测试

Cordova 构建更改 gradle-wrapper.properties 文件中的 distributionUrl

Android Studio list 合并失败

java - 我如何在build.gradle文件中设置属性以在Java中访问该属性

gradle - 根据 future 的任务配置 gradle 插件

gradle - 测试正在构建的Gradle插件的快照部署