robert burrell donkin ha scritto:
On 2/4/07, robert burrell donkin <[EMAIL PROTECTED]> wrote:
there seems to be a rough consensus in favour of modularising james.
i've pulled together a document about one possible design
(http://wiki.apache.org/james/Development/Modularisation). this is
just one possible direction but this proposal is only about the first
step towards modularization. please start discussions about this
design on a separate thread.

On phase 3 you wrote:
"create stage subdirectory which is local only": can you give more details? I didn't understand what "is local only" means (is this related to ant-1.7?)

Can I also ask you what are the modules you plan to split?

E.g:
Build Modules
- Is the "stage directory" something you put here?

Deployment Modules
- phoenix-deployment: contains what we currently have in phoenix-bin and the necessary ant task to build our current binary distribution.
- spring-deployment

Function Modules
- smtpserver
- pop3server
- fetchmail
- remotemanager
- nntpserver
- imapserver
- transport (maybe to be named spoolmanager)
- mailetcontainer: to contain the James.java and some of the transport/*loader* stuff.

Library Modules
- usersrepository
- mailrepository
- mailboxmanager
- dnsserver
- vut
- domain
- management

API Module
- mailet-api (candidate to be moved in its own product repository at the same level of server, jspf, mime4j)
- mailet (maybe to be placed in the mailet-api product, too.. ?!)
- james-api: contains the "services" packages and maybe something more?

Single module containing the core James API
- core: the current content of core+util+context+security

Is this something that matches your proposal or had I misunderstood you?

Maybe this is too premature (so feel free to ignore/delay if this is far in your plans): for every function and library module we have "core" code and avalon component declarations + avalon wrappers to wire services: do you think the road is to split them in "core"+"avalon" sub-modules?

I would add a "personal request" to be considered while we move so much stuff around and we work on build scripts and so on:

1) Adopt SDL for module directory layouts:
http://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html

2) Organize the lib folder like a legacy maven1 repository (like we did in jSPF):
- from: lib/#artifactname#[-#artifactversion#].jar
- to: lib/#artifactgroup#/jars/#artifactname#-#artifactversion#.jar

This 2 tasks should not complicate the ant build and give us much more agility mantaining the poms to build the website: WDYT?


Stefano

PS: if I misunderstood you and this is not your plan I don't want to make you loose too much time explaining me things, so feel free to simply say "No, just shut up and wait for details when I will provide new proposals" ;-)


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to