[ 
https://issues.apache.org/jira/browse/JAMES-1362?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13183395#comment-13183395
 ] 

Stefano Bagnara commented on JAMES-1362:
----------------------------------------

Things I noticed working on the dependency graph:
1) queue-api and mailetcontainer-api are used only by functions and not by 
libraries
2) dnsservice-api, lifecycle-api and filesystem-api are used by more than 1 
*library* and by many functions, so they are really at our "core": maybe we 
should simply merge them.
3) data-api, instead, is used only by 1 library (data-library) and by many 
functions. "mailets" is the only "non data function" to depend on data-library 
(and we should try to remove this dependency). data-* seems to be the most 
vertical issue we have in server because other modules (but mailets) do only 
depends on data-api and nothing else (I don't see it as a candidate for a 
standalone product because api are very specific to how james do things, but 
could be an option if the api is improved and made more generic).
4) "core" does not depend on "util". The only library using util is 
"protocols-library". Otherwise only "functions" depends on util content: it 
would be cool to be able to remove the util module at all.
5) lifecycle-spring has only 1 inbound arrow from container-spring: why can't 
we merge it container-spring?
6) the "api" part of the mailetcontainer-api could be pushed to mailet-api in a 
container package: they are very simple interfaces (MailProcessor is a subset 
of Mailet).
7) dnsservice-library depends by dnsservice-api but despite the name it is not 
used by dnsservice-dnsjava function implementation. Instead it contains some 
dnsservice-api based utilities (so maybe we can merge it to another library 
module (every module depending on dnsservice-library also depends on 
core-library, so core-library sounds like a good destination).

No time now for further considerations (I will just upload a couple of grouping 
experiments I did in order to keep dependencies "clean").
                
> Nest server modules
> -------------------
>
>                 Key: JAMES-1362
>                 URL: https://issues.apache.org/jira/browse/JAMES-1362
>             Project: JAMES Server
>          Issue Type: Improvement
>          Components: Build System
>    Affects Versions: Trunk
>            Reporter: Eric Charles
>         Attachments: graph-server-modules-nodeps-20120110.gif, 
> graph-server-modules-withdeps-20120110.gif
>
>
> Group server module by function based on proposal found on 
> https://issues.apache.org/jira/browse/JAMES-1184?focusedCommentId=12983893&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-12983893
> I will publish here the resulting nesting before committing.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to