在Gradle中创建tar文件时,将行结尾转换为unix样式的最简单方法是什么?

Gle*_*len 8 newline gradle

在工作中,我们在开发过程中使用Windows和Linux工作站的混合体.对于部署,我们总是部署到Unix机器.我想确保行结尾始终是Unix格式.Gradle实现这一目标的最简单方法是什么?我当时认为可能使用FilterReader,但我没有找到一个现成的.这是最好的选择吗?

Gle*_*len 10

编辑此条目以改为使用复制任务.这个的初始版本是使用Tar任务,但我注意到,虽然它在Linux中运行时剥离了CRLF但在Windows上却无法正常工作.既然他们都是copyspecs AFAIK我会期望Tar任务工作相同,但遗憾的是情况并非如此(gradle 1.0-milestone-3).

看起来我自己已经弄清楚了.需要的FilterReader是FixCrLfFilter.以下代码段显示了如何使用它:

import org.apache.tools.ant.filters.*;

task archiveit(type: Copy) {
  from "conf"
  into "targetdir"
  filter(FixCrLfFilter.class,
         eol:FixCrLfFilter.CrLf.newInstance("lf"))
}
Run Code Online (Sandbox Code Playgroud)