【问题标题】:Create a temporary directory for multiple gradle tasks为多个 gradle 任务创建一个临时目录
【发布时间】:2015-01-30 01:00:00
【问题描述】:

我正在 Windows 环境中使用 gradle。我希望我的 gradle 脚本创建一个临时目录,不同的任务以各种顺序对其执行操作,然后在完成后将其删除(可选)。如何在 gradle 脚本中创建这个临时目录?

我最初的想法是Task.temporaryDir,但该目录仅在任务期间持续存在。

抱歉,如果这很明显,我是 Windows 的新手,昨天刚拿起 gradle。

【问题讨论】:

    标签: windows gradle temporary-directory


    【解决方案1】:

    如果您需要在项目结构之外创建一个临时目录,可以通过添加来完成:

    def tempDir = File.createTempDir()
    tempDir.deleteOnExit() // use with care, might be problematic with when daemon mode is used
    

    例如在脚本开头的某处。

    那么创建的文件夹就可以作为其他地方的输出目录了。

    【讨论】:

    • 这个deleteOnExit() 是不可预知的:想想守护进程/无守护进程模式。
    • 谢谢,我一直忘记我几乎可以使用 java。守护程序模式不是问题,因为我知道当我需要删除代码中的目录以不依赖 deleteOnExit()
    【解决方案2】:

    如果您需要一些任务输出在任务执行之后持续存在,那么最好在项目构建目录中创建一个子文件夹。

    task myTask << {
        file("${buildDir}/foo").mkdirs()
    }
    

    【讨论】:

      猜你喜欢
      • 2015-12-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-03
      • 1970-01-01
      • 2013-09-18
      相关资源
      最近更新 更多