You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@forrest.apache.org by Jeff Turner <je...@apache.org> on 2003/10/01 12:19:44 UTC
Re: [PROPOSAL] Remove need to build Forrest
On Tue, Sep 30, 2003 at 12:05:56PM +0200, Nicola Ken Barozzi wrote:
>
> Currently Forrest has to be built before usage, and this is both a good
> and a bad thing. Good because it separates the working version from the
> CVS version. Bad because the buildfile is getting an intangble mess.
>
> Hence I would propose that we move all the files that are copied at
> buildtime into the forrest-shbat directory.
>
> This means basically moving there:
>
> src/resources/conf/**
> src/resources/grammar/**
> src/resources/schema/**
> src/resources/images/**
> src/resources/skins/**
> src/resources/fresh-site/**
> src/resources/stylesheets/**
>
> like the build file does. In this way the src/resources/forrest-shbat
> will be exactly like the current build\dist\shbat dir.
Which is:
forrest.antproxy.xml
forrestbot
forrest.build.xml
fresh-site.zip
ant/
bin/
context/
legal/
lib/
tasks/
WEB-INF/
How is this more logical than src/resources/* ?
We currently have a two-step process:
1) First build.xml rearranges src/* to generate build/dist/shbat/*
2) Then forrest.build.xml rearranges build/dist/shbat/* to build/webapp/*
Instead or making src/* look more like the intermediate format, how about
making it look like the end format?
src/forrest.build.xml
src/forrest.antproxy.xml
src/core/*.xmap
src/core/WEB-INF/
src/core/WEB-INF/lib/*.jar
...
src/fresh-site/*
> This, plus making fresh-site be used directly as sparse files instead of
> a zip, and moving there also the libraries. Optionally we can see to
> download the libraries with <get> and install them or in the
> forrest-shbat correct dir or reference them in some other way, still not
> thought well about this yet, suggestions welcome.
>
> I would also rename forrest-shbat to something more generic, like
> "forrestcore" (or something like that, as we have already forrestbar and
> forrestbot).
>
> Finally the build target would simply <synch> itself with the usual
> build/dist/shbat/ directory, so that if users still use it they do not
> need to change anything.
Synching isn't as easy as just using <synch>, because there is
project-specific stuff mixed in with generic stuff.
> As a result we would have a smaller and cleaner buildfile, much less
> copying, and easier work for the developer that does not need check the
> buildfile every time he adds some features.
Well, it would make the build process more transparent and faster.
--Jeff
> Of course, this has to be done without impacting on Jeff's work about
> non-copying Forrest sources, so it would probably go after his commit.
>
> Whattayathink?
>
> --
> Nicola Ken Barozzi nicolaken@apache.org
> - verba volant, scripta manent -
> (discussions get forgotten, just code remains)
> ---------------------------------------------------------------------
>
>
Re: [PROPOSAL] Remove need to build Forrest
Posted by Nicola Ken Barozzi <ni...@apache.org>.
Jeff Turner wrote:
> On Tue, Sep 30, 2003 at 12:05:56PM +0200, Nicola Ken Barozzi wrote:
>
>>Currently Forrest has to be built before usage, and this is both a good
>>and a bad thing. Good because it separates the working version from the
>>CVS version. Bad because the buildfile is getting an intangble mess.
>>
>>Hence I would propose that we move all the files that are copied at
>>buildtime into the forrest-shbat directory.
>>
>>This means basically moving there:
>>
>> src/resources/conf/**
>> src/resources/grammar/**
>> src/resources/schema/**
>> src/resources/images/**
>> src/resources/skins/**
>> src/resources/fresh-site/**
>> src/resources/stylesheets/**
>>
>>like the build file does. In this way the src/resources/forrest-shbat
>>will be exactly like the current build\dist\shbat dir.
>
> Which is:
>
> forrest.antproxy.xml
> forrestbot
> forrest.build.xml
> fresh-site.zip
> ant/
> bin/
> context/
> legal/
> lib/
> tasks/
> WEB-INF/
>
> How is this more logical than src/resources/* ?
It's just to remove unneded copies.
> We currently have a two-step process:
>
> 1) First build.xml rearranges src/* to generate build/dist/shbat/*
> 2) Then forrest.build.xml rearranges build/dist/shbat/* to build/webapp/*
I hadn't taken webapp into account, forgot about that step.
> Instead or making src/* look more like the intermediate format, how about
> making it look like the end format?
>
> src/forrest.build.xml
> src/forrest.antproxy.xml
> src/core/*.xmap
> src/core/WEB-INF/
> src/core/WEB-INF/lib/*.jar
> ...
> src/fresh-site/*
That was the idea, but my proposal fell short of a step.
+1
>>This, plus making fresh-site be used directly as sparse files instead of
>>a zip, and moving there also the libraries. Optionally we can see to
>>download the libraries with <get> and install them or in the
>>forrest-shbat correct dir or reference them in some other way, still not
>>thought well about this yet, suggestions welcome.
>>
>>I would also rename forrest-shbat to something more generic, like
>>"forrestcore" (or something like that, as we have already forrestbar and
>>forrestbot).
>>
>>Finally the build target would simply <synch> itself with the usual
>>build/dist/shbat/ directory, so that if users still use it they do not
>>need to change anything.
>
> Synching isn't as easy as just using <synch>, because there is
> project-specific stuff mixed in with generic stuff.
ATM. But my second goal is to remove the need of building altogether, by
mounting project-specific stuff dynamically instead of copying.
>>As a result we would have a smaller and cleaner buildfile, much less
>>copying, and easier work for the developer that does not need check the
>>buildfile every time he adds some features.
>
> Well, it would make the build process more transparent and faster.
Ok, I think we agree then.
I don't want to disrupt your commits, so after you are done with them
I'll start rearranging as your corrected proposal.
Thanks! :-)
--
Nicola Ken Barozzi nicolaken@apache.org
- verba volant, scripta manent -
(discussions get forgotten, just code remains)
---------------------------------------------------------------------