On Fri, 18 Feb 2005 09:46:07 -0600, Joe Germuska <[EMAIL PROTECTED]> wrote:
> At 7:04 AM -0500 2/18/05, James Mitchell wrote:
> >
> >Ok, what about this:
> >
> >apps
> >bsf
> >struts-build/
> >  site/
> >  build/
> >core
> >el
> >faces
> >flow
> >sandbox
> >shale
> >site
> >taglib
> >tiles
> >
> >That would allow us to simply copy the nested build/ during the
> >source build of any specific subproject, and still allow the
> >relative references from struts-build/build/ to work (same for
> >site/).
> 
> I hope I'm not being obtuse, but I don't understand how this gets us
> what we want any more automatically than anything else, and I really
> don't like the way it "looks."
> 
> It is possible to use property expressions in POM files; maybe we could use:
> <extend>${struts.shared.pom.path}</extend>
> 
> I could imagine that maybe this is one place where the expressions
> can't be used since inheritance can also be used to resolve property
> values -- it will take just trying it to find out.
> 
> But, if it works, we could define the standard value in
> "project.properties" for each project:
> struts.shared.pom.path=../build/project.xml
> 
> Then as part of making the dist we could use maven.xml to copy the
> build directory into the dist as"./build" and copy in a
> "build.properties" file (which has priority over
> "project.properties") which specified the path to the distribution
> self-contained build-support files?
> 
> If the initial property-for-extend-path works, I think this would all
> come together, but it'll take some playing around.  I may have time
> to try it on Saturday, but if not, I'll be offline Sunday and Monday.
> If anyone else wants to give it a go, say so on the list.

This just gave me an even better idea (IMHO, at least ;). We do what I
had suggested before:

current/
    build/
    site/
    core/
    apps/
    ...

and then we use svn:externals to add 'build' to each of the
subprojects that need it. So when I check out 'core', I would see:

core/
    build/
    conf/
    src/
    ...

By using svn:externals, we gain several things:

1) We get a "free" copy of 'build' along with each subproject, meaning
that it doesn't have to be checked out separately to build one
subproject. Checking out 'core', for example, would be enough to build
core.

2) The "free" copy means that we don't have to do anything special
when building the source distros, since the 'build' directory will
already be part of the checked out subproject when the distro is being
created.

3) We don't have to mess with Maven properties to deal with two
different build scenarios (i.e. checked out vs. source distro).

4) It's really simple! :-)

WDYT?

--
Martin Cooper


> Joe
> 
> --
> Joe Germuska
> [EMAIL PROTECTED]
> http://blog.germuska.com
> "Narrow minds are weapons made for mass destruction"  -The Ex
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to