我想将一系列文件和整个目录复制到单个Copy任务中的另一个目录中。我可以复制单个文件,以及 内容 目录,但我如何复制目录本身?
这是我的任务:
task myTask(type: Copy) {
from 'path/to/file'
from 'path/to/dir'
into 'path/to/target'
}
它复制文件OK,但只复制dir中的文件。我想最终得到目录的内容 path/to/target/dir
(不是在 path/to/target
)。
我通过使用找到了一个解决方法:
task myTask(type: Copy) {
from 'path/to/file'
from 'path/to'
into 'path/to/target'
include 'dir'
}
但这很容易发生名称冲突。我实际上有很多文件和dirs要复制,我想把它作为一项任务。
有一本书可以在Gradle网站上下载 这里 或点击“获取免费电子书” 这里: “超越基础的Gradle” 它为第3页的问题提供了直接的答案(转换目录结构)。
应用于您的示例,解决方案如下:
task myTask(type: Copy) {
from 'path/to/file'
from 'path/to/dir' {
into 'dir'
}
into 'path/to/target'
}
限制是它不会动态确定二级目标目录的名称(DIR)从源头,但它是一个干净的方法。
有一本书可以在Gradle网站上下载 这里 或点击“获取免费电子书” 这里: “超越基础的Gradle” 它为第3页的问题提供了直接的答案(转换目录结构)。
应用于您的示例,解决方案如下:
task myTask(type: Copy) {
from 'path/to/file'
from 'path/to/dir' {
into 'dir'
}
into 'path/to/target'
}
限制是它不会动态确定二级目标目录的名称(DIR)从源头,但它是一个干净的方法。
我知道的唯一解决方案:
task myTask(type: Copy) {
into 'path/to/target'
from 'path/to/file'
into ('dir') {
from 'path/to/dir'
}
}
请记住 into: ('dir')
建筑工程相对而言 path/to/target/
位置