This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 198248 - mylyn libs and osgi
Summary: mylyn libs and osgi
Status: RESOLVED FIXED
Alias: None
Product: connecteddeveloper
Classification: Unclassified
Component: Issuetracking Framework (show other bugs)
Version: 7.0.1
Hardware: PC Mac OS X
: P2 normal (vote)
Assignee: Tomas Stupka
URL:
Keywords: API_REVIEW, PLAN
Depends on: 201697 197842 198275 198345 198349 209631
Blocks:
  Show dependency tree
 
Reported: 2011-05-02 13:53 UTC by Tomas Stupka
Modified: 2013-11-07 15:23 UTC (History)
5 users (show)

See Also:
Issue Type: ENHANCEMENT
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Tomas Stupka 2011-05-02 13:53:44 UTC
access mylyn libraries and it's dependencies via osgi
Comment 1 Jaroslav Tulach 2011-05-03 09:38:21 UTC
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.
Comment 2 Jan Lahoda 2011-05-05 08:13:28 UTC
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).
Comment 3 Jesse Glick 2011-05-05 11:24:47 UTC
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.
Comment 4 Jaroslav Tulach 2011-05-05 12:08:07 UTC
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.
Comment 5 Jesse Glick 2011-05-05 15:44:00 UTC
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).
Comment 6 Tomas Stupka 2011-05-06 09:04:01 UTC
(In reply to comment #5)
> 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 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...
Comment 7 Tomas Stupka 2011-05-16 12:37:49 UTC
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):
=============================

org.apache.commons.codec_1.3.0.v20080530-1600.jar
org.apache.commons.httpclient_3.1.0.v20080605-1935.jar
org.apache.commons.lang_2.4.0.v201005080502.jar
org.apache.commons.logging_1.1.1.v201101211721.jar
org.apache.ws.commons.util_1.0.0.v20100518-1135.jar
org.apache.xmlrpc_3.0.0.v20100427-1100.jar
org.eclipse.core.contenttype_3.4.100.v20100505-1235.jar
org.eclipse.core.jobs_3.5.1.R36x_v20100824.jar
org.eclipse.core.net_1.2.100.I20100511-0800.jar
org.eclipse.core.runtime.compatibility.auth_3.2.200.v20100517.jar
org.eclipse.core.runtime_3.6.0.v20100505.jar
org.eclipse.equinox.app_1.3.1.R36x_v20100803.jar
org.eclipse.equinox.common_3.6.0.v20100503.jar
org.eclipse.equinox.preferences_3.3.0.v20100503.jar
org.eclipse.equinox.registry_3.5.0.v20100503.jar
org.eclipse.equinox.security_1.0.200.v20100503.jar
org.eclipse.mylyn.bugzilla.core_3.5.0.v20110316-0100.jar
org.eclipse.mylyn.commons.core_3.5.0.v20110316-0100.jar
org.eclipse.mylyn.commons.net_3.5.0.v20110316-0100.jar
org.eclipse.mylyn.commons.xmlrpc_3.5.0.v20110316-0100.jar
org.eclipse.mylyn.tasks.core_3.5.0.v20110316-0100.jar

jira (on UC):
========

com.atlassian.connector.eclipse.commons.core_3.0.0.jar
com.atlassian.connector.eclipse.jira.core_3.0.0.jar
javax.servlet_2.5.0.v200806031605.jar
javax.wsdl_1.6.2.v201005080631.jar
javax.xml.rpc_1.1.0.v201005080400.jar
javax.xml.soap_1.2.0.v201005080501.jar
org.apache.axis_1.4.0.v201005080400.jar
org.apache.commons.discovery_0.2.0.v201004190315.jar
org.apache.commons.io_1.4.0.v20081110-1000.jar
org.eclipse.mylyn.commons.soap_3.4.0.v20100608-0100-e3x.jar
org.eclipse.mylyn.monitor.ui_3.4.0.v20100608-0100-e3x-fake.jar
Comment 8 Jaroslav Tulach 2011-06-23 07:06:05 UTC
The netbinox-198275 branch in core-main now contains everything needed. You can start to wrap the Mylyn required OSGi bundles in there:
http://deadlock.netbeans.org/hudson/job/prototypes-use_osgi_197842/
Comment 9 Tomas Stupka 2011-09-02 16:34:34 UTC
fixed 
core-main #6ab8a4e24963
Comment 10 Quality Engineering 2011-09-07 14:33:07 UTC
Integrated into 'main-golden'
Changeset: http://hg.netbeans.org/main-golden/rev/57463131f2b9
User: Jesse Glick <jglick@netbeans.org>
Log: Trying to adapt mail notification to changes from #198248.