james-server-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stefano Bagnara <apa...@bago.org>
Subject [server.trunk] modules/package refactoring UPDATE
Date Sun, 10 Aug 2008 17:13:12 GMT
Stefano Bagnara ha scritto:
> After I moved tests in the right places (excluding IMAP), I'd like to 
> sort out a better structure for our modules.
> [...]
> I don't want to make a proposal for each change because it would take 
> too much time, and I cannot know what to propose until I put my hands on 
> the code.
> 
> Let me know if you want me to do this and how to proceed (work in trunk, 
> create a branch, work on my disk and put a big zip with the result in a 
> JIRA issue, do nothing).

It's a week since this mail and no answer (well, it's mid-august, maybe 
everyone is on holiday), so I decided to go ahead and simply work in 
trunk, as CTR suggests in this cases. A branch does not seems to be 
appropriate because Robert doesn't like dev-branches, so here is my attempt.

Don't take this as pushing. If anyone think this is wrong we can 
revert/branch or do anything else as soon as someone else will become 
active again. Feel free to revert anything I did if this block you doing 
anything.

Here is a status update:

I completed my first step in "repackaging" and "remoduling" server.trunk 
code.
It is far from being perfect, but at least a first goal is achieved.
Now no package belong to 2 modules considering -util, -api and -library 
modules.

Here are the current modules and their packages:
==============================================================
mailnotification.util --------> o.a.j.util.mail.*
common.util ------------------> o.a.j.util
                                 o.a.j.util.io
                                 o.a.j.util.sql
                                 o.a.j.util.stream
user-api ---------------------> o.a.j.api.user.*
                                 o.a.j.api.vut.*
domain-api -------------------> o.a.j.api.dnsservice.*
                                 o.a.j.api.domainlist.*
imap-api ---------------------> o.a.j.api.imap.*
imap-codec-library -----------> o.a.j.imapserver.codec.*
                                 o.a.j.imap.message.*
                                 o.a.j.imap.command.imap4rev1.*
user-library -----------------> o.a.j.impl.jamesuser.*
                                 o.a.j.impl.user.*
                                 o.a.j.impl.vut.*
avalon-spring-bridge-library -> o.a.j.container.spring.*
avalon-socket-library --------> o.a.j.socket.*
                                 o.a.j.util.watchdog.*
                                 o.a.j.util.connection.*
mailbox-library --------------> o.a.j.mailboxmanager.*
core-library -----------------> o.a.j.core
                                 o.a.j.dnsserver
                                 o.a.j.domain
                                 o.a.j.mailrepository.*
                                 o.a.j.management.*
                                 o.a.j.services.*
                                 o.a.j
                                 o.a.j.util.bayesian.*
                                 o.a.j.util.codec.*
                                 o.a.j.util.dbcp.*
                                 o.a.j.util.dnsservice.*
                                 o.a.j.util.scheduler.*
==============================================================

The next steps (as soon as I find the cycles) are:
1. core-library: split it into multiple modules, repackage content to
    avoid use of the "generic" packages.
2. take care of packages in functions: they must not reuse packages
    already used by api/util/libraries.

The ant build is working... m2 build have some dependency issues 
(dependencies are declared in a more granular way in m2, so I don't 
update it at each refactoring).
I did not check yet if the resulting binary distribution is still 
working. Unless someone has hurry to check other things I'll this after 
the 2 above steps (it's likely I missed some xml/xinfo file update 
during the refactoring).

Stefano

---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


Mime
View raw message