On 12/1/05, John Sisson <jrsisson@gmail.com > wrote:
Kevan Miller wrote:

> Rather than using the archive format to determine the linebreak
> convention, I would prefer an explicit build option (build for CR or
> build for CR/LF). Also, having Windows specific archive(s) might imply
> that there is more OS-specific behavior than we really have...
> All of our previous Milestone distributions have used CR's only, has
> this posed a problem to Windows users? It hasn't really been a problem
> for me developing on a Windows platform... I wonder if Geronimo users
> would be happy with CR-only distributions until we're ready to offer
> truly integrated Windows-specific behavior...

I think you mean LF instead of CR in your last paragraph.  I assume that
all the previous distributions used LF's because they were built on
non-Windows platforms.  If I build Geronimo on Windows today the *.xml,
*.txt, etc. files in the distribution  files will contain CR/LF's.  When
that distribution is used on a non-Windows platform the CR's cause the
problem demonstrated in my vi example in the original mail.

You are correct. I knew I was going to get myself turned around... I understand the problem you are addressing...

In summary, the contents of the distribution files are not the same
between builds on Windows and non-Windows platforms, which is bad.  It
should not matter what platform a release is built on.

Totally agree.

Since this is a 1.0 release, now is the opportunity to do better than
some other projects and provide the files with the correct linebreak
convention for *NIX and Windows platforms to ensure a positive user
experience (e.g. Windows users don't get prompted to convert to DOS
format with some editors when they edit files).

I don't think we want to be providing two forms of zip and tar.gz files
one with CR and the other with CR/LF.  *NIX users should always use the
tar.gz files so they get permissions set on files, therefore it seems
reasonable to assume that the zip distribution will only be used by
Windows users.

I'm probably generating more discussion than this topic merits, but simply generating files with CR/LF's and calling it a "Windows distribution" doesn't seem like enough. Unless Windows users were complaining, I'd just build LF-only distributions from all build platforms.

Now, if we built a Windows distribution which contained only .bat files (no .sh files) and appropriate CR/LF's (and vice versa), then it seems like we're making an honest effort towards OS-specific distributions... I'm sure that would be much more involved than your current proposal.

I'm +1 for creating consistent distributions regardless of the build platform. I'm +0 for making zip files use CR/LF and not doing more to create OS-specific distributions...




> --kevan
> On 12/1/05, *John Sisson* < jrsisson@gmail.com
> <mailto: jrsisson@gmail.com>> wrote:
>     Currently if you build a Geronimo distribution on Windows, and install
>     on a *NIX platform, files such XML and property files will contain
>     carriage returns.
>     This is ugly if you are attempting to edit an XML plan using
>     something
>     like the vi editor that displays the carriage returns as ^M.
>     This also is a problem for the viewable files in the root directory of
>     the install, such as the README.txt file.
>     We could fix this by using the fixcrlf task (in the same place I
>     did for
>     GERONIMO-1232) and making the assumption that the zip distribution
>     will
>     only be used on Windows and the tar.gz distributions only used on *NIX
>     platforms. This would allow people to use native editors on their
>     platform (e.g. vi or notepad on windows) without having any problems.
>     Is this a reasonable assumption to make?  Of course we could
>     explicitly
>     state on the download page what the difference between the
>     distributions
>     would be.
>     John
>     Here is an example of me trying to edit an XML file using vi on
>     Solaris
>     (when built from Windows):
>     <?xml version="1.0" encoding="UTF-8"?>^M
>     <!--^M
>     ^M
>         Copyright 2004 The Apache Software Foundation^M
>     ^M
>         Licensed under the Apache License, Version 2.0 (the "License");^M
>         you may not use this file except in compliance with the
>     License.^M
>         You may obtain a copy of the License at^M
>     ^M
>             http://www.apache.org/licenses/LICENSE-2.0^M
>     <http://www.apache.org/licenses/LICENSE-2.0%5EM >
>     ^M
>         Unless required by applicable law or agreed to in writing,
>     software^M
>         distributed under the License is distributed on an "AS IS"
>     BASIS,^M
>     implied.^M
>         See the License for the specific language governing
>     permissions and^M
>         limitations under the License.^M
>     -->^M
>     ^M
>     <!-- $Rev: 292333 $ $Date: 2005-09-29 08:09:15 +1000 (Thu, 29 Sep
>     2005)
>     $ -->^M
>     ^M
>     <!--^M
>     A security realm available to be used by sample applications.^M
>     ^M