On Jul 19, 2006, at 1:36 PM, Sean Schofield wrote:
To expand upon my earlier idea ...
petstore
src/main/java <-- domain objects and service interfaces go here
petstore/petstore-1 <-- specific technology combos
petstore/petstore-2
So you have a petstore.jar artifact produced in the top level module
and petstore-1.war and petstore-2.war in the lower levels. You are
reusing the domain and service interfaces across all of the different
combo apps.
Will that work with Maven? The pom in petstore would be type 'jar'
with modules? Will Maven even do that? If so, cool.
But if one combo uses facelets and another uses clay, we don't really
want a whole separate war. Maybe we could have a switch in the maven
build where you select your view technology? That might be kind of
cool. I'm working on a project with Matt Raible (creator of appfuse)
right now so maybe he has some ideas on how to cut down on
duplication. Stylesheets and images are another area where we don't
want to duplicate things.
Ahhh...this is bringing back memories. I was trying to do the same
thing a few years ago with the mailreader app for those one-off
versions that were scattered around svn (mailreader, mailreader-el,
mailreader-chain, etc) and I had some luck with a (Maven 1) custom
copy bit in the maven.xml (the scripted part of Maven 1).
Basically, there was a base set of files in a directory, and then
sibling folders that when executed would copy the base first, then
overlay it's sources (java, jsp, css, whatever) and then proceed as
normal. It was definitely not an elegant solution, since you still
had to keep any files that only shared a portion of their content up
to date with each other, but it worked. This was also about the same
timeframe that I split off the mailreader-dao into it's own project
under apps.
I doubt that we'd want to take the same approach, but that (at the
time) was the best solution I could come up with....which isn't even
being used anymore ;) (if that's any hint)
It's going to be interesting to see this progress. I was preparing a
reply to an earlier post in the thread, but got pulled away and the
context has more or less changed.
I know it might be a bitter pill to swallow, but maybe we should just
drop the idea of using mailreader all together. When we go with
mailreader, the first thing that comes to mind is 'how can we share
portions with Struts' and IMHO that's just not something that we
would want to try to support right now. Unless there is a better way??
Sean
--
James Mitchell