To expand on what I'm doing, in case of useful advice: Here I am, part of a team that builds and maintains a large body of Java code. Until recently, no OSGi at all. Maven is our build tool. IntelliJ is our predominant IDE.
Recently, we decided to introduce OSGi into the picture. However, we can't just wipe out the past; we have many users who would have kittens if asked to use OSGi. And we would like to avoid radical changes in tooling. So we want to build bundles, and we want to test bundles, and we want to deliver a device that uses OSGi 'behind the application's back' for those who don't want to deal with it. That amounts to launching the framework via the API, and adding some packages to the system bundle to allow communication between 'inside' and 'outside'. We added Maven modules that use the bundle plugin to our major components. Where possible, we are using the existing OSGi status of common open source facilities (commons-io, Jackson, etc). We arranged things so that almost all communications are via services, not exported packages. Where there are exported packages, the bundles are simple in their structure (no packages exported from embedded jars), so that we could retain relatively plain processes for Java compilation. For testing, we pulled in pax-exam. I'm not especially thrilled with pax-exam; it seems complex and fragile to me. Now, I'm looking at provisioning; when the time comes to set up a container with the right set of components, how do we assemble all the dependencies without a bunch of manual metadata maintenance? --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]

