gradle - 在Gradle中复制整个目录

标签 gradle

我有这样的目录结构:

file1.txt
file2.txt
dir1/
    file3.txt
    file4.txt

我想使用Gradle to copy将整个结构放入另一个目录。我尝试了这个:
task mytest << {
    copy {
        from "file1.txt"
        from "file2.txt"
        from "dir1"

        into "mytest"
    }
}

但这导致以下结果:
mytest/
    file1.txt
    file2.txt
    file3.txt
    file4.txt

看到,从dir1的副本复制了dir1中的文件,而我想复制dir1本身。

是否可以直接使用Gradle copy执行此操作?

到目前为止,我只能提出以下解决方案:
task mytest << {
    copy {
        from "file1.txt"
        from "file2.txt"

        into "mytest"
    }

    copy {
        from "dir1"
        into "mytest/dir1"
    }
}

对于我的简单示例而言,它没有太多内容,但是在我的实际情况下,我想复制许多目录,并且我不想重复太多。

最佳答案

您可以使用.作为目录路径,并可以使用include指定要复制的文件和目录:

copy {
    from '.'
    into 'mytest'
    include 'file*.txt'
    include 'dir1/**'
}

如果frominto都是目录,则最终将在目标目录中得到源目录的完整副本。

关于gradle - 在Gradle中复制整个目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39109923/

相关文章:

gradle - 将Maven Artifactory 发布到具有不同 Artifactory ID的 Artifactory

grails - GVM不在Linux Mint上安装产品

gradle - 我们如何运行插件的 Gradle 依赖关系报告?

gradle - 复制文件时如何过滤gradle?如果 token 以 “Tel-”开头并以 “-Tel”结束,则将 token 替换为V2

Gradle - 只有在目录中的代码发生更改时才执行任务

java - 无法加载 ApplicationContext ...创建名为 'entityManagerFactory' 的 bean 时出错 ...NoClassDefFoundError : org/dom4j/io/STAXEventReader

gradle - build.gradle 有什么问题?得到 UnsatisfiedLinkError 因为它缺少我的 so 文件

jenkins - Artifact被上传到Artifactory中的错误群组

android - 使用 android studio 与 ./gradlew assemble[FlavourName]Release 生成 flavor 签名 APK 提供不同的结果

gradle - 如何比较gradle中的版本号?