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)
---------------------------------------------------------------------