I've used ANT on several projects in the past, and have had my eye on Maven for a year now. I am now working on a large project that is mostly integration. That is to say we are working with a few software editors (a webmail application and a chat application) to integrate them into our customers portal architecture. Each software editor is modifying their applications to support new requirements, and we're writing a relatively small amount of code to integrate them. For example, the webmail application has an API which uses HTTP to return XML data. We're writing a protocol adapter to exposure their API as a web service. We're also writing some protocol adapters that will be deployed on their servers.
So far, I've set up a multi-project build for our source code. I created a common project, and then mail & chat directories. Under each I have several projects for each application. I've found a lot of resources on doing this and it was relatively easy to set up and it's working great. From the top level I can do the multi-project build. My problem is I'm not sure how to proceed with the integration part using Maven. I have a couple needs: 1 - I need to deploy to the integration team our entire source code tree, along with the deliveries from our partners (the companies that make mail & chat). The integration team is willing to install Maven, and they also use ANT. So my current thinking is to structure the tree like this: - extern (for deliveries from our partners) - mail - a standalone application - a webapp - chat - static HTML - a web app - a standalone application - our source tree - mail - a JAR to be deployed to the mail standalone app - a JAR to be deployed to the mail webapp - chat - a JAR to be deployed to the chat standalone app - a JAR to be deployed to the chat webapp - an EJB to be deployed to another server Does Maven have functionality to take the applications from our partners (in extern) and combine them with our JARS? Like copying all this to another top level directory, maybe "install"? I know I can do it with ANT, but I'm curious if Maven offers an added value here. 2 - The mail & chat apps use WebSphere & Tomcat, and databases Oracle & MySQL. I'm currently working on install procedures. Using Tomcat for an example, should I put tomcat under the extern/chat tree? Or should integration install their own tomcat and then copy the files from the chat project to the appropriate tomcat directories? The integration team wants to do it like this, where they reassemble the parts themselves (using my maven project). That way they know what they have (official Tomcat release, etc.). On the other hand, the mail & chat companies want to deliver a complete package that is tested and they know it works. For example, what if the mail application uses a modified Tomcat? In that case we'd have to use their Tomcat instead of installing a new one. This complicates the packaging a bit. Thank you for taking the time to read this long mail, and if you have any ideas please let me know. I've heard from a few people that Maven works great for simple JAR projects but it "falls apart" for complicated projects like this. I want to prove them wrong! In the worst case I can have Maven call ANT tasks. My goal is that the integration team gets our code from CVS and types a single command to build, test, and package our project. I think it's an aggressive goal but I'm certainly going to try. Michael --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]