MylynViaOSGi

Revision as of 20:03, 22 June 2011 by Jtulach (Talk | contribs)

When OSGiAndNetBeans became friends in 6.9, we dropped one thing - rewrite of Mylyn to really use OSGi. It is time to fix this for NetBeans 7.1. Tracked as Issue 198248

Contents

The Vision

Let's start to reuse work done by other IDEs and published as OSGi. The NetBeans code already uses the mylyn libraries in the bugtracker connectors ( just as regular jars), and this project would switch their usage from "a library jar" integration to a "osgi bundle" integration.

Cluster

OSGi bundles will be regular "wrapper" projects (just no wrapper JAR will be generated, only config/Modules/*.xml and update_tracking/*.xml). They will be allowed to reside in any cluster (not platform, for now). Tracked as Issue 197842.

NetBinox

Mylyn requires Equinox, thus we will put NetBinox into the platform cluster (ide still being option). As there already is Felix, we'll make NetBinox autoload. The module will export token org.netbeans.Netbinox, so every module that will particulary require OSGi via NetBinox will have to need that token.

NetBinox will be built from sources and part of NetBeans Hg repository.

The Tasks

  • Avoid performance degradation of the NetBeans IDE caused by additional (OSGi) module system - Netbinox is the fastest OSGi container now! Just verify.
  • Usage of Netbinox seems to add about '280 new classes
  • TODO, 2days: Mylyn needs org.eclipse.core.runtime.compatibility.auth when storing authentication credentials. The question is if we should let it the way it is or look for a unified solution with Issue 173413 for the NetBeans IDE.
    • should be possible to make Keyring API bridge: create new source project which generates an OSGi bundle depending on org.netbeans.modules.keyring and org.eclipse.core.runtime.compatibility.auth, registering an impl of the right extension point
  • TODO: Modify API support to recognize the new cluster and its binaries and properly assemble classpath
Not logged in. Log in, Register

By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2012, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo