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

Reply via email to