james-server-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stefano Bagnara <apa...@bago.org>
Subject Re: [server.trunk] modules/package refactoring UPDATE
Date Mon, 11 Aug 2008 17:54:05 GMT
Stefano Bagnara ha scritto:
> 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.
> [...]
> 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.

Here we are at the end of my second day on this "sprint".

I moved around some more code and main changes are:

A. Packages should no more be repeated in api/libraries/util.

B. No package used by api/libraries/util is used in functions (A+B means 
that I'm not sure if we have functions using the same packages)

C. Renamed mailnotification-util to javamail-util (at the end of the 2 
days refactoring it made more sense because of dependencies/content).

D. Introduced core-api to contain basic service interfaces 
(org.apache.james.services) from core-library. (I also moved some of 
org.apache.james.services to functions when they were not used by other 

E. Introduced a management-library module to contain management stuff 
(after I refactored code to be selfcontained in that package). Only 
RemoteManager-function currently depends on this.

F. Introduced a core-function module to host all of the code from 
core-library that was not used by other functions and reduce the size of 
this core-library as it already is the most used dependency.

I don't plan further major changes after this one, but I have to take 
the time to review the resulting structure with my tools.

There are still some utilities in core-library that should be checked.
I still have issues with some module "granularization" but I can't see a 
better solution now. The main goal of this was packages separation and 
smaller core-library.

Currently hudson fail because of svn issues I have to investigate. I'm 
not sure if the ant/m2 builds works now and if the resulting binary 
works. I'm testing this now.

I don't know what's next.. I have to relax and look at the "new" tree 
after cooling down.

Please review and tell if you see improvement over the previous tree or 
you prefer to revert this 2 days big-bang.


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

View raw message