Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.Sign up
Provide OSGi regression test [SPR-8791] #13433
There is currently no regression test of the OSGi manifests of the Spring framework bundles. So it is possible to introduce manifest changes which will prevent Spring framework being used as a drop-in upgrade for earlier versions of Spring. See #13431 for an example of this, which was caught relatively late in the day.
The suggested improvement is to introduce a nightly regression test of the ability to resolve Spring framework with a fixed basic set of non-optional dependencies. The test should probably fire up an OSGi framework such as Eclipse Equinox and install the Spring framework bundles and their non-optional dependencies. After this, the Spring framework bundles should be started and then the test should check that all of those bundles are in ACTIVE state.
Affects: 3.1 RC1
Glyn Normington commented
A stand-alone testcase which builds under Gradle is available at https://github.com/glyn/testspringbundleresolution
See the README for build instructions, essentially:
gradle clean build
The tag Spring-3.1.0.RC2-successful indicates a level of the test which passes with Spring 3.1.0.RC2 (specified as a constant in the test class).
As a validation of the test, it produces the following failure when run against Spring 3.1.0.RC1 (see #13431 for matching diagnostics):
java.lang.AssertionError: The bundle "org.springframework.web_3.1.0.RC1 " could not be resolved. Reason: Missing Constraint: Import-Package: org.apache.http; version="[4.1.0,5.0.0)"