Hi Matt,

We have worked on some ideas here
http://saturnism.wordpress.com/2006/06/16/prototype/ .  We can post the code
fairly easily to somehwere.  I think there were talks about a war plugin
that are able to make copies of another war project into the current?  But
to include lots of common files (dojo javascripts in our case) was a pain w/
how maven2 archetype works.  Currently we serve it from a resource servlet
that serves those from the classpath (i.e. a single jar dependecy).

ray,

On 7/18/06, Matt Raible <[EMAIL PROTECTED]> wrote:

Hello all,

I'm starting to convert AppFuse to be a Maven 2 project, and
(hopefully) use Maven 2's archetype system to allow users to create
new projects.

Initially, I'm thinking of a directory structure that contains many
different modules, maybe something like this:

hibernate
ibatis
core (services and common dao/web/model classes, could also be named
service)
jsf
tapestry
struts-1
struts-2
springmvc (or spring-mvc)

I'm also open to allowing the dao and web tiers to be nested, so they
can be built and tested together:

data
   hibernate
   ibatis
core
web
   jsf
   tapestry
   etc.

Which is a better way to structure things in our source control
repository?  For the end user, hopefully it won't matter because
they'll only have a few AppFuse dependencies in their pom.xml (i.e.
appfuse-hibernate + appfuse-struts).  We can hopefully prompt them for
a multi-module project or a single-module project, and create the
directory structure appropriately.

Currently, AppFuse uses Ant to "install" the various modules.  This is
a pain because it requires parsing and replacing XML.  The good thing
about it is it reduces duplication.  With Maven and separate modules,
it seems like duplication might be a necessary evil.  For example,
there are many common CSS/JavaScript files between the web framework
implementations.  There's no way to copy these into each option's WAR
at build-time is there?  The easiest way to solve this might be
svn:externals AFAIK.

Thanks,

Matt

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


Reply via email to