我有一个gradle任务,它获取一个目录并将其复制到另一个目录
from({ framework.outputDirectory }) into(File("/Users/user/Desktop/"))
这里是完整的gradle。康泰斯任务
val generateIOSArm64Framework by tasks.creating(Sync::class) {
group = "build"
val mode = System.getenv("CONFIGURATION") ?: "DEBUG"
val sdkName = System.getenv("SDK_NAME") ?: "iphonesimulator"
val targetName = "iosArm64"
val framework =
kotlin.targets.getByName<KotlinNativeTarget>(targetName).binaries.getFramework(mode)
inputs.property("mode", mode)
dependsOn(framework.linkTask)
from({ framework.outputDirectory })
into(File("/Users/user/Desktop/"))
}
我认为它只会复制的framework.outputDirectory
到Desktop
,但当我运行该任务时,它删除了我所有的文件在桌面上(包括一些非备份的项目)。我无法恢复那些文件。
:为什么gradleinto
删除文件?它是否每次都创建新文件夹并重写所有内容?
您的任务类型不是Copy
而是Sync
:
此任务与
Copy
任务类似,只是目标目录将只包含复制的文件。在复制文件之前,将删除目标目录中存在的所有文件,除非指定了preserve(Action)
。