首页 文章

Gradle Distribution创建文件

提问于
浏览
0

我试图为我的应用创建一个发行版 . 我已经使用了应用程序插件(继承了分发插件),当我调用 distZip 任务时,我想在一个zip文件中创建一个文件,其配置文件的值从gradle命令作为参数传递 . 例如:我打电话的时候

gradle build distZip --project-prop myproperty=myvalue

我想在zip分发中生成一个包含该内容的属性文件 . 我尝试了以下方法但没有成功:

applicationDistribution.into(".") {
    new File("server.properties").write("myproperty=$myproperty")
}

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

1 回答

  • 0

    这将是:

    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 - 它的类型为 ZipCopy )的任务 .

    使用 project.myproperty 引用属性时要小心 . 如果没有找到 myproperty ,则抛出异常 .

相关问题