Re: Converting AppFuse to a Maven 2 Project
While this looks like an ideal solution, it doesn't appear to work as I'd like. Since I have 4 web/war projects implementing the same thing, it'd be nice to put common files (i.e. filters, listeners) in a "common" project and have that one overlay the other war projects. Eventually, I'm hoping users will be able to "double war overlay" and have the appfuse-jsf (and its dependent appfuse-web-common war) war project overlay theirs. However, having the web-common war as a dependency for appfuse-jsf doesn't seem to work. In my pom.xml, I have: AppFuse JSF Module install maven-war-plugin ... ${pom.groupId} appfuse-web-common ${pom.version} war Yet when I compile appfuse-jsf, it doesn't find the classes in appfuse-web-common's WEB-INF/classes directory. Seems like a bug to me. I'm sure the solution is to create a JAR for web-common and a WAR for common-web, but I think it's more intuitive for the classloader to recognize classes from the overlayed WAR. Another issue I'm seeing is that the dependencies from appfuse-web-common aren't recognized in appfuse-jsf. For example, the following dependencies are in appfuse-web-common, and needed by appfuse-jsf as well. However, appfuse-jsf doesn't find them when compiling. javax.servlet jsp-api 2.0 provided javax.servlet servlet-api 2.4 provided I'm thought this might be an issue with provided, but I changed it to compile and the problem still exists. How hard would it be to change the WAR overlay (or war dependency) to support class and dependency resolution? I'm willing to do the work if someone can point me in the right direction. Thanks, Matt Carlos Sanchez-4 wrote: > > even better ;) > http://maven.apache.org/plugins/maven-war-plugin/examples/war-overlay.html > > On 7/19/06, Jörg Schaible <[EMAIL PROTECTED]> wrote: >> Hi Matt, >> >> Matt Raible wrote on Wednesday, July 19, 2006 7:56 AM: >> >> [snip] >> >> > 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. >> >> Simply build a toolkit.war with your files to share. Let other wars >> dependend on it and anything will be copied over. See war plugin >> documentation. >> >> - Jörg >> >> - >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> > > > -- > I could give you my word as a Spaniard. > No good. I've known too many Spaniards. > -- The Princess Bride > > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > -- View this message in context: http://www.nabble.com/Converting-AppFuse-to-a-Maven-2-Project-tf1964609.html#a5870757 Sent from the Maven - Users forum at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Converting AppFuse to a Maven 2 Project
Matt, Check out the project attached to the jira ticket http://jira.codehaus.org/browse/MOJO-315 . It has a zip with a project structure similar to what you are looking at and that should build and you can use as a template. It has been a while since I posted it but it may be something you can modify to work. Scott Ryan Chief Technology Officer Soaring Eagle L.L.C. [EMAIL PROTECTED] www.soaringeagleco.com (303) 263-3044 -Original Message- From: mraible [mailto:[EMAIL PROTECTED] Sent: Wednesday, August 09, 2006 10:24 AM To: users@maven.apache.org Subject: Re: Converting AppFuse to a Maven 2 Project I started working on the Maven 2 conversion last night. I'm currently using Carlos's nested recommendation. Here's a screenshot of the current structure: http://raibledesigns.com/repository/images/appfuse2-structure.png Using this structure, I get errors stating that the "data" and "web" parent projects should have a packaging type of "pom". However, I want these projects to create their own JAR artifacts. Should these be moved into "common" projects instead of having them in the root of data and web? Thanks, Matt -- View this message in context: http://www.nabble.com/Converting-AppFuse-to-a-Maven-2-Project-tf1964609.html #a5729055 Sent from the Maven - Users forum at Nabble.com. - 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]
RE: Converting AppFuse to a Maven 2 Project
I posted a sample project on Jira and copied it to the appfuse group that had a similar structure and had the poms set up to build correctly. The structure was close to what you are proposing. I will see if i can dig it up and you can just modify it to your liking. Scott Ryan Chief Technology Officer Soaring Eagle L.L.C. [EMAIL PROTECTED] www.soaringeagleco.com (303) 263-3044 -Original Message- From: mraible [mailto:[EMAIL PROTECTED] Sent: Wednesday, August 09, 2006 10:24 AM To: users@maven.apache.org Subject: Re: Converting AppFuse to a Maven 2 Project I started working on the Maven 2 conversion last night. I'm currently using Carlos's nested recommendation. Here's a screenshot of the current structure: http://raibledesigns.com/repository/images/appfuse2-structure.png Using this structure, I get errors stating that the "data" and "web" parent projects should have a packaging type of "pom". However, I want these projects to create their own JAR artifacts. Should these be moved into "common" projects instead of having them in the root of data and web? Thanks, Matt -- View this message in context: http://www.nabble.com/Converting-AppFuse-to-a-Maven-2-Project-tf1964609.html #a5729055 Sent from the Maven - Users forum at Nabble.com. - 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]
Re: Converting AppFuse to a Maven 2 Project
yes, you need to move them to common On 8/9/06, mraible <[EMAIL PROTECTED]> wrote: I started working on the Maven 2 conversion last night. I'm currently using Carlos's nested recommendation. Here's a screenshot of the current structure: http://raibledesigns.com/repository/images/appfuse2-structure.png Using this structure, I get errors stating that the "data" and "web" parent projects should have a packaging type of "pom". However, I want these projects to create their own JAR artifacts. Should these be moved into "common" projects instead of having them in the root of data and web? Thanks, Matt -- View this message in context: http://www.nabble.com/Converting-AppFuse-to-a-Maven-2-Project-tf1964609.html#a5729055 Sent from the Maven - Users forum at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- I could give you my word as a Spaniard. No good. I've known too many Spaniards. -- The Princess Bride - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Converting AppFuse to a Maven 2 Project
common sounds right. "Leaf" projects can be jar/war/pom/ear/etc. Aggregating/parent projects must be pom. You can hack a pom to have a binary with the assembly plugin but it's a questionable design IMO. mike mraible <[EMAIL PROTECTED]> wrote on 08/09/2006 11:23:51 AM: > > I started working on the Maven 2 conversion last night. I'm currently using > Carlos's nested recommendation. > > Here's a screenshot of the current structure: > > http://raibledesigns.com/repository/images/appfuse2-structure.png > > Using this structure, I get errors stating that the "data" and "web" parent > projects should have a packaging type of "pom". However, I want these > projects to create their own JAR artifacts. Should these be moved into > "common" projects instead of having them in the root of data and web? > > Thanks, > > Matt > -- > View this message in context: http://www.nabble.com/Converting- > AppFuse-to-a-Maven-2-Project-tf1964609.html#a5729055 > Sent from the Maven - Users forum at Nabble.com. > > > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] >
Re: Converting AppFuse to a Maven 2 Project
I started working on the Maven 2 conversion last night. I'm currently using Carlos's nested recommendation. Here's a screenshot of the current structure: http://raibledesigns.com/repository/images/appfuse2-structure.png Using this structure, I get errors stating that the "data" and "web" parent projects should have a packaging type of "pom". However, I want these projects to create their own JAR artifacts. Should these be moved into "common" projects instead of having them in the root of data and web? Thanks, Matt -- View this message in context: http://www.nabble.com/Converting-AppFuse-to-a-Maven-2-Project-tf1964609.html#a5729055 Sent from the Maven - Users forum at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Cargo uberwar PITA (was RE: Converting AppFuse to a Maven 2 Project)
Hi Alex, > -Original Message- > From: Alex Shneyderman [mailto:[EMAIL PROTECTED] > Sent: mercredi 19 juillet 2006 13:42 > To: Maven Users List > Subject: Re: Converting AppFuse to a Maven 2 Project [snip] > [...] so take a look at cargo:uberwar > (cargo.codehaus.org). It allows for custom merging callbacks. Although > a pain in an ass to set up (hint: use latest snapshot) That's some interesting feedback! It would be real nice if you could send an email to the cargo list explaining what you think is painful and how you think it could be improved. Thanks -Vincent ___ Découvrez un nouveau moyen de poser toutes vos questions quelque soit le sujet ! Yahoo! Questions/Réponses pour partager vos connaissances, vos opinions et vos expériences. http://fr.answers.yahoo.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Converting AppFuse to a Maven 2 Project
Simply build a toolkit.war with your files to share. Let other wars dependend on it and anything will be copied over. See war plugin documentation. WAR plugin does not allow for custom merging (web.xml, springContext.xml, etc.), so take a look at cargo:uberwar (cargo.codehaus.org). It allows for custom merging callbacks. Although a pain in an ass to set up (hint: use latest snapshot) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Converting AppFuse to a Maven 2 Project
even better ;) http://maven.apache.org/plugins/maven-war-plugin/examples/war-overlay.html On 7/19/06, Jörg Schaible <[EMAIL PROTECTED]> wrote: Hi Matt, Matt Raible wrote on Wednesday, July 19, 2006 7:56 AM: [snip] > 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. Simply build a toolkit.war with your files to share. Let other wars dependend on it and anything will be copied over. See war plugin documentation. - Jörg - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- I could give you my word as a Spaniard. No good. I've known too many Spaniards. -- The Princess Bride - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Converting AppFuse to a Maven 2 Project
Hi Matt, Matt Raible wrote on Wednesday, July 19, 2006 7:56 AM: [snip] > 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. Simply build a toolkit.war with your files to share. Let other wars dependend on it and anything will be copied over. See war plugin documentation. - Jörg - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Converting AppFuse to a Maven 2 Project
I like more the nested approach, it allows you to grow the number of frameworks easier. About the war resources i think you should be able to pack them in a jar in a separate project and then depend on it in the war projects, uncompressing it with maybe the antrun plugin before making the war On 7/19/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] -- I could give you my word as a Spaniard. No good. I've known too many Spaniards. -- The Princess Bride - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Converting AppFuse to a Maven 2 Project
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]