I stumbled quite a bit configuring a FixCrLfFilter in the CopySpec of a Gradle build file… so I thought it would be best to show how it’s done…
The documentation in the user-guide is still a little bit lacking at the time of this writing.
So here it is: a fully configured FixCrLfFilter with all options defined instead of depending on default values!
into('bin') {
from("${projectDir}/src/bin") {
include 'lilith'
fileMode = 0755
filter(FixCrLfFilter,
eol: FixCrLfFilter.CrLf.newInstance('lf'),
tab: FixCrLfFilter.AddAsisRemove.newInstance('asis'),
eof: FixCrLfFilter.AddAsisRemove.newInstance('remove'),
fixlast: true)
}
}
This sets the file permissions to rwxr-xr-x (actually unrelated to the FixCrLfFilter), converts the end-of-line characters to unix style (i.e. only \n), leaves tabs and spaces alone, removes end-of-file characters if any are contained in the file and adds a newline to the last line of the file if it was previously missing.
Hope that helps.

