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]
