gpt4 book ai didi

groovy - gradle 属性文件 - 放置新属性后如何保留评论?

转载 作者:行者123 更新时间:2023-12-03 04:36:24 24 4
gpt4 key购买 nike

每当我向 gradle.properties 文件添加属性时,文件中的注释都会被删除。我想保留所有评论。注释被定义为任何带有#

我用来更新 gradle.properties 文件的任务如下所示:

task updateSomeProperty << {
if(project.hasProperty('mynewProperty')) {
File gradleProperties = file("gradle.properties")
Properties props = new Properties()
props.load(new FileInputStream("gradle.properties"))
props.put("moldProperty",project.getProperty('mynewProperty'))
props.store(new FileWriter(gradleProperties),null);
println 'Updated old property to new property.'
}

}

在命令行上我运行 gradle updateSomeProperty -PmynewProperty=1234
一切正常,属性被注入(inject)文件,但文件中的注释被清除。注意我是如何在 props.store(new FileWriter(gradleProperties),null); 中使用 null 的。我在想,如果我通过了一个空评论,它会保留评论,但它不起作用。我该怎么做呢 ?

如果我无法保留评论,有没有办法获取所有评论,然后我可以使用 fileWriter 命令将它们放回去:
props.store(new FileWriter(gradleProperties),MY_COMMENTS);

最佳答案

不幸的是,根据 Properties#store(),因为您使用的是普通的 java 属性实例。方法,comments 参数是一个新的注释,而且它只是新保存的属性文件的第一行的注释。如果你想存储预览评论,你应该尝试一些其他的解决方案。例如,您必须提供自己的实现 pf 属性并使用它将新属性存储在外部属性文件中。您可以在 Internet 上找到一些示例,例如 one here .但可以肯定的是,Gradle 脚本似乎并不简单。

关于groovy - gradle 属性文件 - 放置新属性后如何保留评论?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33552415/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com