1 Reply Latest reply on Mar 19, 2010 11:49 AM by thomas.diesler

    OSGi dependency on VFS

    thomas.diesler

      Up until now all framework integration projects and especially the native framework had a direct dependency on jboss-vfs-2.1.x. This was inherited from the component that is lowest in the stack (i.e. jboss-osgi-spi)

       

      A recent change to JBossAS updates the VFS to jboss-vfs-3.0.x, which is API incompatible to jboss-vfs-2.1.x. As a consequence, none of the osgi frameworks run on jbossas/trunk any more.

       

      Although JBoss OSGi is still in beta phase, we already had 4000+ downloads for the last release - so people are watching and using what we release. This is altogether a good thing, but also means that we cannot simply migrate to the new VFS and drop support for all existing JBossAS versions. I claim that very few (if not none) of the folks that download/use jboss-osgi do this on a not yet un-released appserver (i.e. jbossas/trunk)

       

      Yesterday, I made an effort to externalize and abstract the dependency on VFS and created a jboss-osgi-vfs abstraction layer. This is by no means a complete VFS API, but a simple abstraction of the VFS functionality the OSGi layer actually uses. The jboss-osgi-vfs API is expected to be a small functional subset of the jboss-vfs-3.0.x API, classes and interfaces should have equal simple names but different package names.

       

      The VFS abstraction layer is not there to last, but should be removed once we settle on single jboss-vfs version. In reality, it means that all jboss-osgi supported target containers use jboss-vfs-3.0.x (i.e. we only support jboss-6.0.0.M3 and above). This will be a while (one year+) from now.

       

      The hardest bit will be to abstract the VFS out of the Native Framework. For this I separated the framework build into modules and manged to remove the jboss-vfs dependency from framework-core. All jboss-vfs-2.1.x dependent bits have moved to jboss-osgi-framewotk-vfs21.

       

      Over the next couple of days I'll complete the jboss-osgi-vfs30 layer and change the installer such that it installs the apropriate jboss-vfs abstraction into the target containers (i.e. runtime and jbossas/trunk get jboss-osgi-vfs30, the others jboss-osgi-vfs21)

       

      I'll let you know when hudson shows blue dots for all supported target containers/frameworks again.