You are of course, correct. I was thinking too local in scope and totally overlooked developers deploying to different environments.

As for the multiple templates, I guess I misunderstood what you were initially proposing. Dealing with it at time of class generation would be a much cleaner method.

Re: EOL property, we should still have it set, but for reasons completely tangential to the issue at hand now. The ASF provides default svn config file to auto add the EOL property for any new files, too.

--
Kevin

On Jun 2, 2008, at 8:17 AM, Andrus Adamchik wrote:


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