I like the way this is heading. Should we make a new entry on the issue tracker for that? To document our decisions maybe?
-- Marcelo Lacerda On Wed, Apr 27, 2011 at 6:00 AM, Nelson Silva <[email protected]> wrote: > I've been using Maven as much as possible for all sorts of projects (Java, > Scala, Flex, etc..) and it is by far the external build tool that offers > greater IDE support. > Both Netbeans and IDEA work great with Maven and I believe I read somewhere > that Eclipe's support will be a lot better in future versions. > > We now have ~ 60 MB of third party jars in source control and if we keep the > code as it is it will grow larger, especially if people start making > contributions to integrate Wave with other projects (support for other app > servers, new persistence alternatives, etc...) > > Also, with the move to SVN people will be able to checkout just the module > they need and can depend on prebuilt versions for everything else, this of > course if we setup a simple maven repo. > > Were the current dist jars discussed properly ? Can't we use this same > layout as a starting point ? > > I'm well aware that this is something that needs to be discussed but I'm ok > with throwing my work away as long as it served its purpose which is to get > this discussion going. > > > On 26-04-2011 22:51, Michael MacFadden wrote: >> >> Nelson, >> >> I am all for this. I am very experienced with Maven and the proper ways >> to set up multi module projects including dependency management, etc. I >> think your assessment of the situation is correct. We would ultimately need >> a code free to get this done. >> >> However, before you go to far, I would try to get a real discussion going >> on if this is something the team wants to do. If so we need to discuss what >> the right modules are, what artifact and group ids we would want, etc. I >> would hate to see you set up a lot of poms.xml that don't line up with how >> we would ultimately do things. >> >> As a side note, if we did want to go to maven, now would be the right >> time. Everything else has to be migrated anyway, might as well take the hit >> now. However, I would recommend that we get the current source migrated >> over first. >> >> ~Michael >> >> >> On Apr 26, 2011, at 10:12 AM, Nelson Silva wrote: >> >>> Hi all, >>> >>> There have been several discussions on adding maven as a build tool. >>> >>> I've decided to start working on this by adding a tools/maven >>> subdirectory with a multimodule project layout. >>> I pushed my ongoing work to a branch in my GitHub clone : >>> >>> https://github.com/nelsonsilva/wave-protocol/tree/maven/tools/maven >>> >>> While a complete port to maven as the main build tool would required a >>> code freeze and a healthy discussion of code reorganization into proper >>> modules we should be able to use a simple includes/excludes approach for now >>> and in the end, if everyone is ok with it, we could easily make the port >>> happen. >>> >>> I would like to get some help with this from everyone who's interested. >>> There are lots of plugins and lots of ways to acomplish things in maven so >>> this should get the discussion started. >>> >>> I chose to go with GitHub so everyone can fork it and send me pull >>> requests. If you'd rather go with the issue/patchset approach I'll open the >>> issue but the idea here was to have several people contribute and not a >>> single patch + review process. >>> >>> Quickstart: >>> >>> cd tools/maven >>> ./install_deps.sh # This will install a couple of dependencies that were >>> either patched or were not found in existing maven repos >>> mvn install >>> cd server >>> ln -s ../../../war >>> mvn exec:java # This should start the server, although you'll have to >>> symlink the war directory for now >>> >>> TO DO: >>> >>> - Use profiles for dev/prod >>> - Remove as many ant tasks as possible and use pure maven plugins >>> - Use the assembly plugin to package the server with the webclient >>> - Setup the surefire tests for each module >>> - Rethink the modules, we should have pure api modules and the several >>> impl modules for persistence, websockets, auth, etc ... >>> - etc.... >>> >>> Looking forward to getting this going... >>> >>> Regards, >>> >>> Nelson Silva > >
