在Gradle中创建tar文件时,将行尾转换为unix样式的最简单方法是什么?
在工作中,我们在开发过程中混合使用Windows和Linux工作站。对于部署,我们总是部署到Unix机器上。我希望确保行尾始终为Unix格式。在Gradle实现这一点最简单的方法是什么?我想也许可以使用FilterReader,但我没有找到现成的。这是最好的选择吗?编辑此条目以使用复制任务。最初的版本是使用Tar任务,但我注意到,当它在Linux上运行时剥离了CRLF,但在Windows上却无法正常工作。因为它们都是复制品,所以我本以为Tar任务的工作原理是一样的,但遗憾的是事实并非如此(gradle1.0-milestone-3) 看来我自己已经弄明白了。所需的FilterReader是FixCrLfFilter。以下代码段显示了如何使用它:在Gradle中创建tar文件时,将行尾转换为unix样式的最简单方法是什么?,gradle,newline,Gradle,Newline,在工作中,我们在开发过程中混合使用Windows和Linux工作站。对于部署,我们总是部署到Unix机器上。我希望确保行尾始终为Unix格式。在Gradle实现这一点最简单的方法是什么?我想也许可以使用FilterReader,但我没有找到现成的。这是最好的选择吗?编辑此条目以使用复制任务。最初的版本是使用Tar任务,但我注意到,当它在Linux上运行时剥离了CRLF,但在Windows上却无法正常工作。因为它们都是复制品,所以我本以为Tar任务的工作原理是一样的,但遗憾的是事实并非如此(gra
import org.apache.tools.ant.filters.*;
task archiveit(type: Copy) {
from "conf"
into "targetdir"
filter(FixCrLfFilter.class,
eol:FixCrLfFilter.CrLf.newInstance("lf"))
}
格伦的答案对我不起作用,因此我提出了更简单的解决方案:
task archiveit(type: Copy) {
from "conf"
into "targetdir"
filter { line -> line.replaceAll('\r\n', '\n') }
}
应该处理所有支持过滤器的任务,包括
Tar
task.什么的行尾?您的资源文件的内容?在我正在创建的tar文件中的配置文件。我发现了一些似乎对我有用的东西,并把它贴在下面。不适合我。我认为“线”不再有它的结尾了。用Gradle 6.1.1进行测试