Gradle 插件扩展设置 Map 类型的属性

Mat*_*ker 4 java gradle-plugin

我想为我的插件扩展设置属性映射。所以基本上我想写一些类似的东西

settings {
  envVars = {
    a = "abc"
    b = "dec"
    ...
    n = "sdf"
  }
}
Run Code Online (Sandbox Code Playgroud)

当我在扩展类中使用属​​性时

private Map<?,?> envVars;
Run Code Online (Sandbox Code Playgroud)

Gradle 告诉我它无法设置属性设置。所以我想实现的是在我的扩展类中设置值映射。

我所做的就是当我写下以下内容时得到关闭:

settings {
  envVars {
    a = "abc"
    b = "dec"
    ...
    n = "sdf"
  }
}

public class extension {
....
    public envVars(Closure c){}
}
Run Code Online (Sandbox Code Playgroud)

但是我不知道如何处理闭包以及如何访问里面的内容,所以我宁愿有一个 Map 而不是闭包

问候马蒂亚斯

Mat*_*ker 6

好的,你只需正确编写地图即可:/

envVars = [test: 'test']
Run Code Online (Sandbox Code Playgroud)

一切都很好