如何在Gradle保存符号链接中复制目录?

时间:2018-09-12 09:22:54

标签: gradle build symlink

以下gradle任务复制目录,但解析所有符号链接。这是无法接受的。我想保留。

task test {
    doLast {
        copy {
            from 'source'
            to 'destination'
        }
    }
}

该怎么办?

1 个答案:

答案 0 :(得分:2)

该“错误”有一个open issue

目前,您可以检测符号链接,也可以手动创建符号链接

import java.nio.file.FileSystems
import java.nio.file.Files
import java.nio.file.Path

copy {
    from $source
    into $destination
    eachFile { details ->
        Path pathFile = FileSystems.getDefault().getPath(details.file.path)
        if(Files.isSymbolicLink(pathFile)) {
            details.exclude()
            commandLine 'ln', '-s', Files.readSymbolicLink(pathFile), "$destination/${details.relativePath}
        }
    }
}