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]