复制Gradle中的整个目录

Kip*_*Kip 18 gradle

我有这样的目录结构:

file1.txt
file2.txt
dir1/
    file3.txt
    file4.txt
Run Code Online (Sandbox Code Playgroud)

我想使用Gradle将整个结构复制到另一个目录中.我试过这个:

task mytest << {
    copy {
        from "file1.txt"
        from "file2.txt"
        from "dir1"

        into "mytest"
    }
}
Run Code Online (Sandbox Code Playgroud)

但这导致以下结果:

mytest/
    file1.txt
    file2.txt
    file3.txt
    file4.txt
Run Code Online (Sandbox Code Playgroud)

看,拷贝从dir1复制的文件 dir1,而我想复制dir1 自身.

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

到目前为止,我只能提出这个解决方案:

task mytest << {
    copy {
        from "file1.txt"
        from "file2.txt"

        into "mytest"
    }

    copy {
        from "dir1"
        into "mytest/dir1"
    }
}
Run Code Online (Sandbox Code Playgroud)

对于我的简单示例,它并不多,但在我的实际情况中,我想要复制许多目录,并且我不想重复这么多.

And*_*gin 30

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

copy {
    from '.'
    into 'mytest'
    include 'file*.txt'
    include 'dir1/**'
}
Run Code Online (Sandbox Code Playgroud)

如果这两个frominto是目录,你会与源目录的目标目录的完整副本结束.