On 2/3/07, Stefano Bagnara <[EMAIL PROTECTED]> wrote:
robert burrell donkin wrote:
> with the need to modularise, i think that there's now more convergence
> towards this
>
> given a little initial restructuring (moving code around), it should
> be possible to gradually move code out from the pheonix deployment
> module into separate modules.
>
> phase 1: make space for modules within james server trunk
> * server/trunk -> server/trunk/pheonix
>
> phase 2: top level build
> * create build.xml which delegates to pheonix/build.xml
>
> phase 3: upgrade build:
> * upgrade to ant 1.7 (the new features are *really* good)
> * create stage subdirectory which is local only
> * create buildtasks module to host build macros and ant tasks for
> module builds
>
> phase 3: create empty base module top to contain API interfaces
> * create macros and tasks to support modular build
> * create build-modules.xml to support common structure
> * base builds copies artifacts into stage subdirectory
> * pheonix build copies artifacts locally from stage
> * create macros to allow easy generation of new modules
>
> once this has been done, we can gradually pull code out of pheonix
> into modules. we can also add new code in as modules. branches can
> just branch the modules they need and keep the others on trunk.
>
> if there's consensus about this approach, i'm willing to make time to
> execute (unless someone beats me to it ;-)
>
> opinions?
I prefer maven2 for modular builds. Imho make things more clear.
On the other side I think that who *does* stuff have a special choice on
how to do this, so I'm +1 *if* you'll take care of this.
a reorganisation along these lines would be build system agnostic: the
standard modules would be laid out using the standard jakarta
conventions upon which maven was based, the deployment module(s) would
use the current trunk layout.
(I'm not +1, but -0, on a general choice for ant based multi-module
build system: I still prefer maven2, expecially for a multi-module build)
IMO it's best to separate choice of build system from modularization.
ant 1.7 is good at multi module builds and so is maven 2 (early
versions of both systems had their flaws). the module code should not
need major reorganisation to switch from ant to maven but ant would
still be the primary build system for james.
- robert
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]