gpt4 book ai didi

java - Gradle 分发创建文件

转载 作者:行者123 更新时间:2023-12-03 06:12:42 25 4
gpt4 key购买 nike

我正在使用 gradle 构建桌面应用程序,并且正在尝试为我的应用程序创建分发。我使用了应用程序插件(它继承了分发插件),当我调用 distZip任务,我想在该 zip 中创建一个文件,其中包含一个配置文件,其中的值作为 gradle 命令的参数传递。例如:当我打电话时

gradle build distZip --project-prop myproperty=myvalue

我想在 zip 分发中生成一个包含该内容的属性文件。
我尝试了以下方法但没有成功:
applicationDistribution.into(".") {
new File("server.properties").write("myproperty=$myproperty")
}

当我这样做时,它会在项目的根目录中创建一个文件,而不是在分发 zip 的根目录中。有谁知道如何在分发 zip 中创建这个文件?

最佳答案

这将是:

apply plugin: 'distribution'

distZip {
def p = File.createTempFile('aaa', 'bbb')
p.write "my.property: $project.myProperty\n"
p.deleteOnExit()

from(p) {
rename {
'server.properties'
}
}
}

和调用:
gradle clean distZip -Pmyproperty=bolo

您需要配置准备分发的任务 - 在这种特殊情况下 distZip - 这是 Zip 类型的任务( Copy)。

小心使用 project.myproperty 引用属性.如果没有 myproperty发现会抛出异常。

关于java - Gradle 分发创建文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33354346/

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