You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by Stefano Bagnara <ap...@bago.org> on 2007/02/04 17:21:12 UTC

maven2 pom used to build the website (Was: [PROPOSAL] steps 1.1 and 1.2 towards server modularisation)

robert burrell donkin wrote:
> how does the mavenized website build work ATM?

the pom.xml you see in the root should be able to make a full build of 
james core. It does not bundle the phoenix stuff in the generated 
artifact, but it builds the classes, run the tests and build the website 
(src/site/xdoc) pages.
The pom.xml is child of a generic james-server-root pom.xml (used as 
root of every james-server release, because it contains generic non 
version specific site pages).

If you split the "module" needed to build the james.sar from the module 
that bundle this sar file in a phoenix distribution then the current 
pom.xml will work fine in the first module and will be enough to build 
the website.

The as soon as you split the modules in mailet-api, mailet and james 
(the 3 jars we currently generate) and move-back the sar creation to the 
phoenix-deployment module (or another additional module) I think it 
should be easy enought to create 2 simple poms for the mailet-api and 
mailet jars and 1 parent pom for the root and to move the current pom to 
the "james" module adding the dependency on mailets modules.

This works for 2.3 but the current trunk is no more able to be built 
with maven since jsieve has been included as a dependency. This is 
because of a cyclic dependency between jsieve and james-server. Jsieve 
depends on the mailet apis and on the "org.apache.james.util.mail.mdn" 
package (and now that we have a single module product we cannot use 
fine-grained dependencies).
Once the mailet apis will be moved to their own module (or even their 
own product, as we voted previously) I think we should move the 
"org.apache.james.util.mail.mdn" to jsieve (it is not used inside 
james-server) in order to remove the cyclic dependency and make it 
everything to work again.

Note that I did not take care to use correct dependencies in the 
pom.xml, but only that it was able to build and run tests so that we 
could use it to build the website.

Hope this is not too confusing. Tell me if I have to go more in depth 
and try to be more clear ;-)

Stefano


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