directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stefan Bodewig <bode...@apache.org>
Subject Re: [ApacheDS] Gump Build Failure of protocol-ldap
Date Tue, 27 Jul 2010 09:59:40 GMT
On 2010-07-27, Stefan Seelmann wrote:

>> It looks as if protocol-ldap depended on protocol-shared but didn't
>> specify this inside its POM.  I would expect it to receive this
>> dependency transitively via kerberos-shared (albeit a non-transitive
>> dependency would be cleaner IMHO) but for some reason mvn doesn't.

> Which Maven version are you using?

2.2.1

> Anyway, you are right. Direct dependencies should be added to the pom.
> I checked with mvn dependency:analyze and added
> apacheds-protocol-shared and shared-asn1.

That's great, thanks.

> Could you please test again?

Will happen automatically during the next run and there isn't much I
could do in the meantime anyway.

> Another question: The snapshot repository you are using
> (http://localhost:8192/repo/m2-snapshot-repository/....), is that the
> official snapshot repository http://repository.apache.org/snapshots/ ?

I need to explain what Gump is used for before I can properly answer
this.

Gump is not your usual continuous integration server, it fills a very
special purpose.  For most of your dependencies it will completely
ignore the version you ask for and will always give you the current
trunk of your dependency.  It expects projects to build, this is
integration at a larger scale and Gump tries to find changes that break
downstream dependencies before they become part of releases.

This is valuable for projects that have many downstream users -
typically libraries like the Apache Commons projects but also things
like Ant where the API may change in ways that break third party Ant
tasks.

It is also valuable for projects that depend on many projects since they
will know if they can safely upgrade - and can even try to lobby their
dependencies to avoid backwards incompatible changes before they become
part of a released API.

END OF GUMP COMMERCIAL.

For some build tools like Ant, Gump support comes built-in - when Gump
was created initially, Ant was the only Java tool around.  For mvn Gump
installs a local web application and registers it as mirror for most
common repositories.  This web application is the one listening at the
port above.

If mvn asks the web application for a jar that belongs to a project that
Gump builds, it will return the jar built from trunk - no matter which
version has been asked for.  If it asks for a jar the web application
doesn't know about the webapp works as a proxy to the real repository
mvn would have asked.

In your case the snapshots are current because the web application
serves them from the freshly built trunk jars.  If you asked for
something not built by Gump it would be a proxy of the official Apache
snapshots repository.

Stefan

Mime
View raw message