使用 gradle 复制一个文件的最优雅的方法是什么

Ser*_*nov 6 gradle

复制一个文件并用 gradle 重命名它的最简洁、最优雅和最短的方法是什么?

到目前为止我只能想到这个:

copy {
    from projectDir
    into projectDir
    include '.env.template'
    rename '.env.template', '.env'
}
Run Code Online (Sandbox Code Playgroud)

Luk*_*fer 6

您可以简化您的CopySpec

copy {
    from file('.env.template')
    into projectDir
    rename '.*', '.env'
}
Run Code Online (Sandbox Code Playgroud)

from方法接受单个File对象,并且由于仅复制这一个文件,因此该rename模式可以匹配任何复制的文件。

这种方式简单干净,但为了遵循 Gradle 概念,您应该考虑使用任务,以在配置执行Copy阶段之间保持清晰的界限。

编辑:

我刚刚了解到,可以为该rename方法提供一个闭包,因此您也可以使用:

copy {
    // ...
    rename { '.env' }
}
Run Code Online (Sandbox Code Playgroud)