【问题标题】:Gradle task to rename fileGradle 任务重命名文件
【发布时间】:2018-08-30 08:15:08
【问题描述】:

我想在 gradle 任务中做一个简单的文件重命名。我在文件夹 src 下有一个名为 project-1.5.jar 的 jar,我希望将 jar 重命名为 project.jar

所以,

project/project-1.5.jar 到 project/project.jar 使用 gradle

非常感谢任何想法。

【问题讨论】:

标签: java gradle filesystems rename


【解决方案1】:

重命名方法应该可以解决问题。

task renameArtifacts (type: Copy) {
    from ('project/')
    include 'project-1.5.jar'
    destinationDir file('project/')
    rename 'project-1.5.jar', "project.jar"
}

【讨论】:

  • rename 'project-1.5.jar', "project.jar" ,我们可以通过使用类似 rename 'project*.jar', "project.jar" 之类的东西来使其通用 - 但是这不是工作有人可以告诉我替代方案
【解决方案2】:

对我来说这很有效 - 不会留下源文件(没有重复)。

task pdfDistributions(type: Sync) {
    from('build/asciidoc/pdf/docs/asciidoc/')
    into('build/asciidoc/pdf/docs/asciidoc/')
    include '*.pdf'
    rename { String filename ->
        filename.replace(".pdf", "-${project.version}.pdf")
    }
}

【讨论】:

    【解决方案3】:

    Gradle 允许从您的任务实现中调用 ant 任务。 它使移动文件变得如此简单

    ant.move(file:'oldFile.txt', tofile:'newfile.txt')
    

    【讨论】:

    • 这在您需要重命名文件但不必使用“复制”任务时很有用,例如在函数中或作为另一种类型/自定义任务中的步骤。应该是这样做的本机方式(除非我错过了它)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-24
    • 1970-01-01
    • 2011-10-07
    • 1970-01-01
    • 2021-12-29
    • 1970-01-01
    相关资源
    最近更新 更多