You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cocoon.apache.org by Thorsten Scherler <th...@juntadeandalucia.es> on 2007/12/27 13:11:50 UTC

Re: svn commit: r606743 - /cocoon/branches/BRANCH_2_1_X/tools/targets/webapp-build.xml

On Thu, 2007-12-27 at 13:06 +0100, Carsten Ziegeler wrote:
> If I get no response from Paul (or anyone else on this), I'll revert the
> change for the release. I'm currently planning to prepare the
> distribution next monday.

Yes, please revert the commit.

The fix was to have custom components in cocoon and the build will pick
it up. But this can be done by a custom target as well. COCOON-2074.

The filtering needs to be off for binary stuff like other have been
pointed out so it is doing more harm then good.

salu2

> 
> Carsten
> 
> Carsten Ziegeler wrote:
> > At least the resources have been copied with filtering "off" before. As
> > the resources contain images and other binary stuff, this changes
> > breakes definitly the build as binary files have to be copied with
> > filtering turned off.
> > 
> > Apart from that, I'm wondering what this change tries to fix.
> > 
> > So Paul, please comment on this issue.
> > 
> > Thanks
> > Carsten
> > 
> > Antonio Gallardo wrote:
> >> Hi solprovider,
> >>
> >> I am wondering if a simple
> >>
> >> filtering="on" statement can replace the previous code. I recall issues
> >> with files that become broken on the resources if we use filtering. And
> >> also some files we don't want on the final webapp.
> >>
> >> Best Regards,
> >>
> >> Antonio Gallardo.
> >>
> >>
> >> solprovider@apache.org escribió:
> >>> Author: solprovider
> >>> Date: Mon Dec 24 14:03:31 2007
> >>> New Revision: 606743
> >>>
> >>> URL: http://svn.apache.org/viewvc?rev=606743&view=rev
> >>> Log:
> >>> The build process carefully adds each of the standard files in the
> >>> webapp directory. New applications are not included in the build
> >>> process. No files need to be excluded. This change copies the entire
> >>> directory. (COCOON-2074)
> >>>
> >>> Modified:
> >>>     cocoon/branches/BRANCH_2_1_X/tools/targets/webapp-build.xml
> >>>
> >>> Modified: cocoon/branches/BRANCH_2_1_X/tools/targets/webapp-build.xml
> >>> URL:
> >>> http://svn.apache.org/viewvc/cocoon/branches/BRANCH_2_1_X/tools/targets/webapp-build.xml?rev=606743&r1=606742&r2=606743&view=diff
> >>>
> >>> ==============================================================================
> >>>
> >>> --- cocoon/branches/BRANCH_2_1_X/tools/targets/webapp-build.xml
> >>> (original)
> >>> +++ cocoon/branches/BRANCH_2_1_X/tools/targets/webapp-build.xml Mon
> >>> Dec 24 14:03:31 2007
> >>> @@ -25,33 +25,9 @@
> >>>    <target name="prepare-webapp" depends="blocks, package">
> >>>      <mkdir dir="${build.webapp}"/>
> >>>  
> >>> -    <copy file="${webapp}/welcome.xml"
> >>> tofile="${build.webapp}/welcome.xml" filtering="on"/>
> >>> -    <copy file="${webapp}/not-found.xml"
> >>> tofile="${build.webapp}/not-found.xml" filtering="on"/>
> >>> -    <copy file="${webapp}/welcome.xslt"
> >>> tofile="${build.webapp}/welcome.xslt" filtering="on"/>
> >>> -    <copy file="${webapp}/sitemap.xmap"
> >>> tofile="${build.webapp}/sitemap.xmap"/>
> >>> -
> >>> -    <!-- generate sitemap entries
> >>> -    <sitemap-components sitemap="${build.webapp}/sitemap.xmap"
> >>> source="${java}"/>
> >>> -    -->
> >>> -
> >>> -    <copy todir="${build.webapp}/stylesheets" filtering="on">
> >>> -      <fileset dir="${webapp}/stylesheets">
> >>> -        <include name="**/*.xslt"/>
> >>> -      </fileset>
> >>> -    </copy>
> >>> -
> >>> -    <copy todir="${build.webapp}/resources" filtering="off">
> >>> -      <fileset dir="${webapp}/resources"/>
> >>> -    </copy>
> >>> -
> >>> -    <copy todir="${build.webapp}/WEB-INF" filtering="on">
> >>> -      <fileset dir="${webapp}/WEB-INF">
> >>> -        <include name="entities/**"/>
> >>> -        <include name="classes/**"/>
> >>> -        <include name="*.x*"/>
> >>> -        <include name="properties/**"/>
> >>> -      </fileset>
> >>> -    </copy>
> >>> +      <copy todir="${build.webapp}" filtering="on">
> >>> +          <fileset dir="${webapp}"/>
> >>> +      </copy>
> >>>  
> >>>      <copy file="${build}/${name}.jar"
> >>>            tofile="${build.webapp.lib}/${name}-${version}.jar"/>
> >>>
> >>>   
> >>
> > 
> > 
> 
> 
-- 
Thorsten Scherler                                 thorsten.at.apache.org
Open Source Java                      consulting, training and solutions


Re: svn commit: r606743 - /cocoon/branches/BRANCH_2_1_X/tools/targets/webapp-build.xml

Posted by Vadim Gritsenko <va...@reverycodes.com>.
On Dec 27, 2007, at 10:29 AM, solprovider@apache.org wrote:

> The discussion is that nobody trusts ant to work properly
> so this patch should be reverted because theoretical problems may
> result if the ant developers are poor programmers.

It is not theoretical. Binary files, as well as UTF-8 encoded files,  
are corrupted by filtering=on. If you pull history of the build.xml  
file, I'm certain you will find relevant commits (you'd have to dig  
into C2.0 history though).


> Does Cocoon need the filtering?

Yes, C2.1 needs filtering.

Vadim


>  Would filtering=no solve the concerns?
>
> solprovider


Re: svn commit: r606743 - /cocoon/branches/BRANCH_2_1_X/tools/targets/webapp-build.xml

Posted by Ralph Goers <Ra...@dslextreme.com>.
solprovider@apache.org wrote:
>
> I committed/closed my Cocoon jiras as soon as I learned a Cocoon
> release was planned.  This may be the final release of Cocoon-2.1 so
> every change must be committed or discarded.
>
>   
I wouldn't get your hopes up on this one. 2.2 is sufficiently different 
enough that I would not be surprised to see a 2.1.12 release even after 
2.2.0.

Ralph

Re: svn commit: r606743 - /cocoon/branches/BRANCH_2_1_X/tools/targets/webapp-build.xml

Posted by so...@apache.org.
On 12/27/07, Carsten Ziegeler <cz...@apache.org> wrote:
> solprovider@apache.org wrote:
> > Cocoon-2.1 keeps applications ("samples") in the webapp directory.
> > Newbies would expect to add applications to that directory.  The build
> > process chooses specific files and directories to copy so new
> > applications are not copied to the build directory.  The patch removed
> > the list of specific files to copy the entire webapp directory.  I
> > closed my Cocoon jiras because a release candidate for Cocoon-2.1.11
> > is being prepared.
> >
> > Antonio asked whether ant:copy had the intelligence to understand
> > binary files should not be affected by text replacement.  I have not
> > studied ant to discover if the program is sane.
> >
> > This change passed my testing in May.  The jira from June survived
> > without comments.  None of the comments in this thread mention real
> > problems.  The discussion is that nobody trusts ant to work properly
> > so this patch should be reverted because theoretical problems may
> > result if the ant developers are poor programmers.  Nobody on the
> > Cocoon project wants to spend five minutes testing.
> >
> > I will test more after somebody spends one minute to define the test
> > expected to fail because of this patch.   The potential bug seems to
> > require binary files containing strings on ant's filter list.
> >
> As Vadim has responded again: filtering should not be done on all files,
> otherwise they get corrupted. And this means whenever you copy a
> complete directory tree, you have to copy these files without filtering
> and if you need filtering for specific files, you need to do this in a
> second pass. This has been repeatedly said in this thread, so it would
> be great if you could come up with a solution that honours this.
> And this is independent from the fact, that currently copying all the
> files with filtering on does not corrupt them - it is a potential cause
> of error we would like to avoid.

Ant allowing text filtering to affect binary files should be posted as
a data-damaging bug.  If this functionality is that bad, the Cocoon
project is correct to not trust ant.

> Apart from that, I'm still wondering what your patch is trying to
> achieve? I really hope that you are not putting your own webapp into a
> Cocoon src directory and then hope for the cocoon build to pick up your
> files? You claim that newbies want to put their stuff directly into the
> Cocoon src/webapp directory? I never heard of this and actually I would
> strongly suggest against doing so. The old way of copying the webapp
> files actually prevented people from doing this - and I really prefer to
> keep it this way. There are several much better ways of building own
> applications.

I believe software should be easy.  The easiest and most common method
of learning a new platform is to copy the demonstration application.
Cocoon's demonstration application is "samples".  Copy "samples" to
"myfirstapp".  Build.  "myfirstapp" application does not work or even
exist.  Cocoon seems difficult and loses a customer.

Why would you want to discourage putting applications in the
src/webapp directory.  Cocoon clearly recommends that as the proper
directory.  That is where the demonstration application is located.
That is the only directory named "app".  Where else would anybody
expect applications to be placed?

> Regarding your Jira issue: just because noone commented on it over the
> last months does not mean that this one got happily accepted by
> everyone. I guess it's just an oversight, I - for instance - didn't
> notice this issue until you changed the code.

Nobody does.  Don't worry about it.

> And, our build system is a very very fragile piece of code that caused
> way too many problems over the past (one of the reasons why we changed
> this for 2.2) - so it's in general not a good idea to change this
> fragile piece just before a release.
> Carsten

I committed/closed my Cocoon jiras as soon as I learned a Cocoon
release was planned.  This may be the final release of Cocoon-2.1 so
every change must be committed or discarded.

solprovider

Re: svn commit: r606743 - /cocoon/branches/BRANCH_2_1_X/tools/targets/webapp-build.xml

Posted by Carsten Ziegeler <cz...@apache.org>.
solprovider@apache.org wrote:
> Hi All,
> 
> Cocoon-2.1 keeps applications ("samples") in the webapp directory.
> Newbies would expect to add applications to that directory.  The build
> process chooses specific files and directories to copy so new
> applications are not copied to the build directory.  The patch removed
> the list of specific files to copy the entire webapp directory.  I
> closed my Cocoon jiras because a release candidate for Cocoon-2.1.11
> is being prepared.
> 
> Antonio asked whether ant:copy had the intelligence to understand
> binary files should not be affected by text replacement.  I have not
> studied ant to discover if the program is sane.
> 
> This change passed my testing in May.  The jira from June survived
> without comments.  None of the comments in this thread mention real
> problems.  The discussion is that nobody trusts ant to work properly
> so this patch should be reverted because theoretical problems may
> result if the ant developers are poor programmers.  Nobody on the
> Cocoon project wants to spend five minutes testing.
> 
> I will test more after somebody spends one minute to define the test
> expected to fail because of this patch.   The potential bug seems to
> require binary files containing strings on ant's filter list.
> 
As Vadim has responded again: filtering should not be done on all files,
otherwise they get corrupted. And this means whenever you copy a
complete directory tree, you have to copy these files without filtering
and if you need filtering for specific files, you need to do this in a
second pass. This has been repeatedly said in this thread, so it would
be great if you could come up with a solution that honours this.
And this is independent from the fact, that currently copying all the
files with filtering on does not corrupt them - it is a potential cause
of error we would like to avoid.

Apart from that, I'm still wondering what your patch is trying to
achieve? I really hope that you are not putting your own webapp into a
Cocoon src directory and then hope for the cocoon build to pick up your
files? You claim that newbies want to put their stuff directly into the
Cocoon src/webapp directory? I never heard of this and actually I would
strongly suggest against doing so. The old way of copying the webapp
files actually prevented people from doing this - and I really prefer to
keep it this way. There are several much better ways of building own
applications.

Regarding your Jira issue: just because noone commented on it over the
last months does not mean that this one got happily accepted by
everyone. I guess it's just an oversight, I - for instance - didn't
notice this issue until you changed the code.

And, our build system is a very very fragile piece of code that caused
way too many problems over the past (one of the reasons why we changed
this for 2.2) - so it's in general not a good idea to change this
fragile piece just before a release.

Carsten

-- 
Carsten Ziegeler
cziegeler@apache.org

Re: svn commit: r606743 - /cocoon/branches/BRANCH_2_1_X/tools/targets/webapp-build.xml

Posted by so...@apache.org.
Hi All,

Cocoon-2.1 keeps applications ("samples") in the webapp directory.
Newbies would expect to add applications to that directory.  The build
process chooses specific files and directories to copy so new
applications are not copied to the build directory.  The patch removed
the list of specific files to copy the entire webapp directory.  I
closed my Cocoon jiras because a release candidate for Cocoon-2.1.11
is being prepared.

Antonio asked whether ant:copy had the intelligence to understand
binary files should not be affected by text replacement.  I have not
studied ant to discover if the program is sane.

This change passed my testing in May.  The jira from June survived
without comments.  None of the comments in this thread mention real
problems.  The discussion is that nobody trusts ant to work properly
so this patch should be reverted because theoretical problems may
result if the ant developers are poor programmers.  Nobody on the
Cocoon project wants to spend five minutes testing.

I will test more after somebody spends one minute to define the test
expected to fail because of this patch.   The potential bug seems to
require binary files containing strings on ant's filter list.

Does Cocoon need the filtering?  Would filtering=no solve the concerns?

solprovider

On 12/27/07, Thorsten Scherler
<th...@juntadeandalucia.es> wrote:
> On Thu, 2007-12-27 at 13:06 +0100, Carsten Ziegeler wrote:
> > If I get no response from Paul (or anyone else on this), I'll revert the
> > change for the release. I'm currently planning to prepare the
> > distribution next monday.
>
> Yes, please revert the commit.
>
> The fix was to have custom components in cocoon and the build will pick
> it up. But this can be done by a custom target as well. COCOON-2074.
>
> The filtering needs to be off for binary stuff like other have been
> pointed out so it is doing more harm then good.
>
> > Carsten Ziegeler wrote:
> > > At least the resources have been copied with filtering "off" before. As
> > > the resources contain images and other binary stuff, this changes
> > > breakes definitly the build as binary files have to be copied with
> > > filtering turned off.
> > >
> > > Apart from that, I'm wondering what this change tries to fix.
> > >
> > > So Paul, please comment on this issue.
> > >
> > > Thanks
> > > Carsten
> > >
> > > Antonio Gallardo wrote:
> > >> Hi solprovider,
> > >>
> > >> I am wondering if a simple
> > >>
> > >> filtering="on" statement can replace the previous code. I recall issues
> > >> with files that become broken on the resources if we use filtering. And
> > >> also some files we don't want on the final webapp.
> > >>
> > >> Best Regards,
> > >>
> > >> Antonio Gallardo.
> > >>
> > >>
> > >> solprovider@apache.org escribió:
> > >>> Author: solprovider
> > >>> Date: Mon Dec 24 14:03:31 2007
> > >>> New Revision: 606743
> > >>>
> > >>> URL: http://svn.apache.org/viewvc?rev=606743&view=rev
> > >>> Log:
> > >>> The build process carefully adds each of the standard files in the
> > >>> webapp directory. New applications are not included in the build
> > >>> process. No files need to be excluded. This change copies the entire
> > >>> directory. (COCOON-2074)
> > >>>
> > >>> Modified:
> > >>>     cocoon/branches/BRANCH_2_1_X/tools/targets/webapp-build.xml
> > >>>
> > >>> Modified: cocoon/branches/BRANCH_2_1_X/tools/targets/webapp-build.xml
> > >>> URL:
> > >>> http://svn.apache.org/viewvc/cocoon/branches/BRANCH_2_1_X/tools/targets/webapp-build.xml?rev=606743&r1=606742&r2=606743&view=diff
> > >>>
> > >>> ==============================================================================
> > >>>
> > >>> --- cocoon/branches/BRANCH_2_1_X/tools/targets/webapp-build.xml
> > >>> (original)
> > >>> +++ cocoon/branches/BRANCH_2_1_X/tools/targets/webapp-build.xml Mon
> > >>> Dec 24 14:03:31 2007
> > >>> @@ -25,33 +25,9 @@
> > >>>    <target name="prepare-webapp" depends="blocks, package">
> > >>>      <mkdir dir="${build.webapp}"/>
> > >>>
> > >>> -    <copy file="${webapp}/welcome.xml"
> > >>> tofile="${build.webapp}/welcome.xml" filtering="on"/>
> > >>> -    <copy file="${webapp}/not-found.xml"
> > >>> tofile="${build.webapp}/not-found.xml" filtering="on"/>
> > >>> -    <copy file="${webapp}/welcome.xslt"
> > >>> tofile="${build.webapp}/welcome.xslt" filtering="on"/>
> > >>> -    <copy file="${webapp}/sitemap.xmap"
> > >>> tofile="${build.webapp}/sitemap.xmap"/>
> > >>> -
> > >>> -    <!-- generate sitemap entries
> > >>> -    <sitemap-components sitemap="${build.webapp}/sitemap.xmap"
> > >>> source="${java}"/>
> > >>> -    -->
> > >>> -
> > >>> -    <copy todir="${build.webapp}/stylesheets" filtering="on">
> > >>> -      <fileset dir="${webapp}/stylesheets">
> > >>> -        <include name="**/*.xslt"/>
> > >>> -      </fileset>
> > >>> -    </copy>
> > >>> -
> > >>> -    <copy todir="${build.webapp}/resources" filtering="off">
> > >>> -      <fileset dir="${webapp}/resources"/>
> > >>> -    </copy>
> > >>> -
> > >>> -    <copy todir="${build.webapp}/WEB-INF" filtering="on">
> > >>> -      <fileset dir="${webapp}/WEB-INF">
> > >>> -        <include name="entities/**"/>
> > >>> -        <include name="classes/**"/>
> > >>> -        <include name="*.x*"/>
> > >>> -        <include name="properties/**"/>
> > >>> -      </fileset>
> > >>> -    </copy>
> > >>> +      <copy todir="${build.webapp}" filtering="on">
> > >>> +          <fileset dir="${webapp}"/>
> > >>> +      </copy>
> > >>>
> > >>>      <copy file="${build}/${name}.jar"
> > >>>            tofile="${build.webapp.lib}/${name}-${version}.jar"/>
> Thorsten Scherler                                 thorsten.at.apache.org
> Open Source Java                      consulting, training and solutions