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