cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jorg Heymans>
Subject Re: svn commit: r417871 - /cocoon/trunk/blocks/cocoon-auth/cocoon-auth-impl/pom.xml
Date Sun, 02 Jul 2006 18:47:38 GMT

Carsten Ziegeler wrote:

> It *should* be passed on transitively, but interestingly in some cases
> it is not! (One of the unpredictable things of maven) While it is passed
> on on my laptop (W2K) it is not on my home computer (WXP) - both using
> the same JDK and the same m2 version (2.0.4). So that's why I had to add
> it to the auth pom.

Right i figured this one out. There is no dark magic involved after all:

1. MNG-1797 states that if you exclude a lib from a dependency then that
lib will not get passed on transitively to artifacts dependending on the
pom you've just added the exclusion to (it's hard to explain, just read
the ticket and you'll see what i mean)

2. In r418215 Reinhard did some pom cleanup on the core :

r418215 | reinhard | 2006-06-30 11:37:05 +0200 (Fri, 30 Jun 2006) | 1 line

clean up dependencies: set OSGi deps to 'provided'; set Ant&cli deps to
'provided' (cli support should be moved to a separate module; add more
excludes to remove transitive dependencies on junit, xmlunit, excalibur
unit testing fw, ant-optional, servlet api)


Normally this pom refactoring would have been 100% OK. However our
current servlet-api dependency is marked as <scope>provided</scope>,
which means it is not passed on transitively. So in fact our modules
have been using the servlet-api from one of our dependencies
(commons-jxpath) all along. Now when Reinhard excluded servlet-api from
jxpath the problem surfaced.

We should therefore add servlet-api directly to any modules that require
it, with scope provided.


View raw message