Decisions will need to be made on the developer list.  We should start using 
our development Wiki to document plans and decisions.

~Michael

On Apr 27, 2011, at 7:38 AM, Marcelo Sena wrote:

> 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
>> 
>> 

Reply via email to