欢迎!请参阅 关于页面 了解有关此处的更多信息。
在没有 :replace 参数的情况下,b/copy-dir 会忠实地复制源目录中的任何二进制(和文本)文件。
:replace
b/copy-dir
但是,如果在提供 :replace 参数时,则在复制过程中会损坏任何二进制文件。对于目录中的任何文本文件都正确进行替换。
重现
mysrc
cryogen.png
(b/copy-dir :src-dirs ["mysrc"] :target-dir "newdir" :replace {"<<name>>" "me"})
newdir
无法确定文件是否为编码的字符流,因此 :replace 参数假定您正在复制文本文件。一个现有解决方案是使用 :include 仅指定特定类型的文件,例如 "**.clj"。
:include
"**.clj"
Maven资源过滤插件对文件扩展名进行二进制过滤排除,这也可能是一条可行之路。