The snapshot build is intended to test whether the latest versions of all
of our modules work with one another. This makes it pretty important. :)

The reason we can't test this in our normal build is that the normal build
tests modules against the *minimum* level of their dependencies. (This is
done in the normal build to ensure that the shipped manifests import the
minimum required level, not the current snapshot.)

For example, if a imports a package from b at version=[1.0,2.0), and b is
currently at version 1.4-SNAPSHOT, a's pom needs to include a-1.0, not a
current snapshot. This makes sure that a's manifest imports b with
version=[1.0, 2.0). The snapshot build for the a module rewrites the pom so
that we test the latest level of a with the latest level of b. The normal
build will test the latest level works with the 1.0 level of b.

This is a consequence of having the project composed of many modules, each
of which are independently releasable. In order to get correct OSGi
manifests and meaningful test coverage, we need to do a bit more building
and testing than you'd have to do in a monolithic project.

Holly


On Fri, Jun 13, 2014 at 9:39 AM, Christian Schneider <
ch...@die-schneider.net> wrote:

> The normal aries build as well as the deploy build seem to be stable again.
> See
> https://builds.apache.org/view/A-D/view/Aries2/job/Aries/
>
> The build with snapshot dependencies seems to continually fail.
> https://builds.apache.org/view/A-D/view/Aries2/job/
> AriesWithSnapshotDependencies/
>
> The build fails during the application integration tests with a compile
> error.
>
> Unfortunately I do not fully understand what the failing build does
> exactly.  Can someone explain how this build works and perhaps give some
> advice what is going wrong at the moment?
> I would like to do a build on my own system that replicates the same
> errors but have no idea how to do this.
>
> Maybe this build simply does not work anymore with the new integration
> tests as I now use .versionAsInProject in pax exam while I think the old
> tests used a different mechanism to determine the version of dependencies.
>
> Christian
>
> --
> Christian Schneider
> http://www.liquid-reality.de
>
> Open Source Architect
> http://www.talend.com
>
>

Reply via email to