如何在 gradle.properties 文件中声明列表?

Ale*_*row 5 gradle

当我尝试在 gradle.properties 文件中写这样的东西时:

defaultTasks=['deploy']
Run Code Online (Sandbox Code Playgroud)

我收到下一条消息:

BUILD FAILED
FAILURE: Build failed with an exception.


* What went wrong:
Cannot cast object '['deploy']' with class 'java.lang.String' to class 'java.util.List'
Run Code Online (Sandbox Code Playgroud)

Sta*_*lav 5

我想,这是不可能的,因为这是一个普通的 java 属性,默认情况下属性值是一个字符串。但是您可以向脚本添加一些初始化逻辑,以读取自定义属性并使用它们来初始化defaultTasks属性。

将自定义属性添加到gradle.properties文件中

extDefaultTasks=temp1,temp2
Run Code Online (Sandbox Code Playgroud)

temp1temp2是任务名称(这个任务应该存在)。在构建脚本中,读取这个属性,解析它并defaultTasks用它初始化:

//load custom property value and split it into the task names
def String[] tasksToUseAsDefault = extDefaultTasks.split(',')
//use task names to initialize defaultTasks
tasksToUseAsDefault.each {defaultTasks.add(it.trim())}
Run Code Online (Sandbox Code Playgroud)

此配置应添加到脚本的根目录中,以便在构建的配置阶段完成