It seems to me that we need a separate EOL setting that is Maven specific, just like git has a bunch of settings like autocrlf.
Gary On Sat, Feb 11, 2023, 08:02 Elliotte Rusty Harold <elh...@ibiblio.org> wrote: > IMHO in 2023 the problem is that anything relies on a system dependent > line.separator instead of explicitly specifying which bytes are > output. I've fixed some instances of that antipattern over the years. > Please file bugs on any plugin you notice that still does that. > > We can't have good reproducible builds until we wean ourselves off > 1970s-era arcana like system dependent line separators. > > > On Fri, Feb 10, 2023 at 1:42 PM Piotr P. Karwasz > <piotr.karw...@gmail.com> wrote: > > > > Hi, > > > > At Log4j we have solved all the reproducibility problems mentioned on > > the wiki page[1] and we are approaching the problem of reproducibility > > between different OSes. > > > > My goal is for the following procedure to work regardless of the > > operating system of the user: > > > > 1. a user checks out a tagged release from the Git repository, > > 2. the user runs the Maven Wrapper: 'mvn package' > > 3. the user checks the SHA256 of the resulting JAR file with the one > > from Maven Central. > > > > The only problem I have encountered so far is the difference between > > line endings on Windows and UNIX systems. > > > > The line endings of static resources can be easily fixed using a > > `.gitattributes` file, but the line endings of resources generated by > > plugins may vary. Many plugins respect `System.lineSeparator()`, but > > setting the `line.separator` Java system property on the command line > > is no trivial task and it can not certainly be done in > > `.mvn/jvm.config`. > > > > What do you think about introducing a POM-like system property (e.g. > > `project.build.lineSeparator`) that would allow setting > > `line.separator` using a simple `-Dproject.build.lineSeparator=LF` or > > `-Dproject.build.lineSeparator=CRLF`? Ideally this could be a real POM > > property, but I am afraid that by the time the POM is resolved, > > `System.lineSeparator()` is already initialized. > > > > Piotr > > > > [1] > https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=74682318 > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org > > For additional commands, e-mail: dev-h...@maven.apache.org > > > > > -- > Elliotte Rusty Harold > elh...@ibiblio.org > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org > For additional commands, e-mail: dev-h...@maven.apache.org > >