access mylyn libraries and it's dependencies via osgi
Project page is at http://wiki.netbeans.org/MylynViaOSGi, everyone please feel free to review the concept.
Jesse says that the work on use_osgi_197842 is ready for experiments. I'll provide a Hg bundle for bug 198275 and then you can start creating wrapper modules for mylyn and its dependencies.
JL01: How much work are we going to save by using vanilla OSGi bundles for Mylyn? Will the current work that is to be performed pay off (including fixes of possible regressions)? How many more bundles will we pull into the IDE?
JL02: As I understand, NetBeans currently supports the NetBeans module system and OSGi through Felix. When Equinox is pulled into NetBeans, is Felix going to be pulled-out? If not, what is the point of having three "module systems" in one IDE (NB module system, Felix and Equinox). Isn't that a bit overkill?
JL03: I do not agree with putting Netbinox into ide cluster - I do think it belongs there. Please either place it into the platform (preferred, IMO) or into its own separate cluster.
JL04: There should be a support for creating and building OSGi bundles in the NB.org repository.
JL05: Going forward, what is the future of the NB module system? Shouldn't we deprecate it and switch to OSGi bundles?
JL06: Please make sure there is no performance regression (neither on startup nor in runtime).
JL02 & JL03 should be directed to bug #198275.
For JL04 see bug #197842 but it seems there is not much more to support, at least when the number of such bundles is fairly small.
More or less agreed with JL02/JL05; the build and runtime systems (incl. AU) are substantially more complicated when both NB modules and OSGi need to be supported. We have already committed to a certain degree of OSGi support since NB 6.9, though I have little idea how widely it is used.
I've answered JL02 and JL03 in issue 198275.
JL01 - We want to reuse as much of OSGi bundles in our IDEs as reasonable. Mylyn is the pilot project, I expect the number to grow up. With such expectation I believe the effort pays off.
JL04 - There is some support since 6.9. We will need it (to implement and register the keystore provider, I think).
JL06 - Sure. The area of my biggest concern right now which we identified with Jesse is processing of plugin.xml (needed to find the keystore provider). That might require additional initialization of XML parser, which might be quite costly. I promise to keep an eye on that.
I guess the libs would be taken from http://source.apidesign.org/hg/netbinox-mylyn-sample/archive/795e2d7073f1.zip or is there some different list of what should be included?
The 14 org.eclipse.* bundles seem straightforward, but the 4 org.apache.* bundles could be a headache for the same reason as JZlib & JSch - there is no official OSGi packaging, so we would have to either pick up bundles from Orbit if we like their packaging, or do our own packaging (and modify unrelated modules to depend on bundles rather than wrapper modules).
(In reply to comment #5)
> I guess the libs would be taken from
> or is there some different list of what should be included?
the list is the state from over a year ago. we upgraded the o.e.mylyn.* libs in the IDE since then (3.3.1) and we plan, in scope of this issue, to upgrade to the newest state (3.5.1 if possible). That might then reflect on mylyn-s dependencies - o.e.core.* and o.e.equinox.* as well as i just learned from jarda that netbinox comes with a newer version of equinox (3.6).
anyway, afaik at this moment - the org.apache.* libs will stay the same
will come wit an actual list asap...
see http://source.apidesign.org/hg/netbinox-mylyn-sample/archive/tip.zip for a complete list of what libs would be needed for our bugzilla and jira modules.
mylyn core & bugzilla (part of netbeans build):
jira (on UC):
The netbinox-198275 branch in core-main now contains everything needed. You can start to wrap the Mylyn required OSGi bundles in there:
Integrated into 'main-golden'
User: Jesse Glick <firstname.lastname@example.org>
Log: Trying to adapt mail notification to changes from #198248.