On Jun 2, 2008, at 3:04 PM, Kevin Menard (JIRA) wrote:

Correct. But the Velocity templates in the Windows artifacts can use Windows EOL, the Mac artifacts Mac EOL, and the tarballs Linux EOL.

I am strongly -1 on it. This assumes that Cayenne runtimes jars from our "windows" download will be used on Windows - an unwarranted assumption (as you mentioned yourself later in the comment).

This would obviate the need for maintaining multiple versions of the Velocity templates that only differ by EOL.

I am not advocating having multiple templates. If we want platform line endings, we should do something smarter, like intercepting that at the Writer used by template or similar.

Granted, this isn't as foolproof as a runtime OS check -- e.g., there's nothing stopping me from using the tarball on Windows and getting the wrong EOL. I suspect this isn't a case that arises frequently, except when a user grabs an artifact from the maven repo.

It arises all the time. The Maven example is an excellent one, that I haven't thought about. But more generally any large group of developers, corporate or open source, maven or jars-in-svn, will have to deal with it (e.g. develop on Windows, build/deploy on Linux, but sometimes on Windows too). I would say cross-platform is not an exception - it is the rule.

Andrus

Reply via email to