Gradle:使用文件内容作为属性值

时间:2017-06-30 08:05:35

标签: gradle

假设我在文件中有描述,并且我想使用文件内容在Gradle中设置属性。我目前正在做的事情是那样的

String myChangeNotes = file('resources/META-INF/change-notes.html').text
String myDescription = file('resources/META-INF/description.html').text

patchPluginXml {
    changeNotes = myChangeNotes
    pluginDescription = myDescription
}

它可以工作,但它在更改时不会重新加载文件。我想我必须创建一个输入两个HTML文件的任务,以便Gradle知道它们何时发生变化,但我不确定如何继续。

如何在每次文件在磁盘上更改时重新加载changeNotes的{​​{1}}和pluginDescription属性?

1 个答案:

答案 0 :(得分:1)

您已经有一个将文件内容作为输入的任务。当您在配置阶段阅读文件时,在开始构建时总是会新读取它们。 changeNotes任务的pluginDescriptionpatchPluginXml字段(如果我们谈论gradle-intellij插件)被定义为输入,因此如果它们的值发生变化,则任务将重新开始-跑。所以一切似乎都设置正确。