-
Notifications
You must be signed in to change notification settings - Fork 17
Release Notes 0.9.0
As with any new project of this nature, we face a chicken-and-egg problem: on the one hand, it is often not until you've started trying to use it in real-world implementations that you fully understand the needs and the best design approach to use to address them. On the other hand, you can't really start using it in real-world scenarios until you've done a release - which means you have to make some design decisions early on without the benefit of the real-world experience. The problem that this can lead to is that some of those early design decisions prove to be not only sub-optimal, but difficult to change without being highly disruptive. The experience of the JDK itself has shown this time and again, and already we've made significant breaking changes in our own internal usage as we gained experience and discovered better ways of doing things.
Rather than baking in some of these sub-optimal design flaws into a full-fledged release, the osgi-test
team has made the decision to do an early access release. This will be a full release in the sense that it will be permanently available in Maven Central - making it available for early adopters. The caveat is that the osgi-test
team reserve the right to make significant breaking changes so that we can fix any significant design flaws that our early adopters discover before moving to a 1.0.0
release. Once it has been used by a variety of early adopters without encountering any serious issues, we will move to a 1.0.0
release and things will become more stable and ready for wider use.
The current featureset of osgi-test is small, but quite rich and powerful in the subset of functionality that it covers. It has already proven useful to members of the core team who have used it in their own projects (and we've even used parts of it in osgi-test
itself). We hope that there will be members of the OSGi community out there who are eager (and brave!) enough to try it out and help contribute to this initiative.
- AssertJ classes for R6 of the OSGi Promise API and most of
org.osgi.framework
. - Utility functions that are commonly used in testing, including functions for handling/ducking exceptions, converting functional interfaces with checked exceptions into unchecked ones, etc.
- JUnit 4 rules for simplifying management of temporary
BundleContext
operations (BundleContextRule
) and for accessing dynamic services (ServiceRule
). - JUnit 5 extensions for simplifying management of temporary
BundleContext
operations (BundleContextExtension
) and for accessing dynamic services (ServiceExtension
). In particular,BundleContextExtension
can handle multiple layers of context.