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 198275

Summary: Netbinox in the standard NetBeans repository
Product: platform Reporter: Jaroslav Tulach <jtulach>
Component: NetigsoAssignee: Jaroslav Tulach <jtulach>
Status: RESOLVED FIXED    
Severity: normal CC: apireviews, jglick
Priority: P1 Keywords: API_REVIEW, PLAN
Version: 7.0   
Hardware: Other   
OS: Linux   
Issue Type: ENHANCEMENT Exception Reporter:
Bug Depends on:    
Bug Blocks: 198248, 201740    
Attachments: Converting http://source.apidesign.org/hg/netbinox/rev/9faed4fbcbd8 into NetBeans Hg.
Profiler snapshot showing initialization of Netbinox on Windows (cold start)

Description Jaroslav Tulach 2011-05-03 09:32:44 UTC
For various purposes we need Netbinox in the ide cluster. Move it from its own website to NetBeans repository.
Comment 1 Jaroslav Tulach 2011-05-03 19:44:52 UTC
Created attachment 108083 [details]
Converting http://source.apidesign.org/hg/netbinox/rev/9faed4fbcbd8 into NetBeans Hg.

The patch is almost final, except the licenses. To get it into NetBeans Hg, I will have to use the standard NetBeans license and I'll change that before integration.

I have changed the code name base from org.apidesign.netbinox to org.netbeans.modules.netbinox. This could cause incompatibility problems to early adopters - in such case, we can keep the original name.

The project page is: http://wiki.netbeans.org/MylynViaOSGi
Comment 2 Jesse Glick 2011-05-05 00:21:38 UTC
If core.netigso (w/ Felix) is already in platform and offers itself as an OSGi framework provider, what will cause the NB module system to load Netbinox instead?
Comment 3 Jaroslav Tulach 2011-05-05 11:55:20 UTC
(In reply to comment #2)
> If core.netigso (w/ Felix) is already in platform and offers itself as an OSGi
> framework provider, 

Applications based on top of NetBeans Platform will use Felix.

> what will cause the NB module system to load Netbinox
> instead?

The Netbinox framework is registered with position lower than Felix and thus takes precedence if included in the set of enabled modules.
Comment 4 Jaroslav Tulach 2011-05-05 12:02:33 UTC
Answering some questions from bug 198248:

JL02 - Felix and Equinox or Netbinox are implementation of the same specification. Thus supporting Equinox is not going to increase or complicate the infrastructure. From the point of view of NetBeans framework, they are the same. Only bundles running inside Felix or Equinox see some differences. 

Is it overkill? Not really. It gives users of NetBeans Platform options (and they have them since 6.9), so there is nothing changing on that. The real change is JL01 - yes, we will start to use OSGi bundles in the NetBeans IDE.


JL03 - I don't want parts of Eclipse in the NetBeans Platform, thus I proposed to create ''osgi'' cluster originaly. Jesse convinced me to rather put netbinox and other mylyn bundles into ide cluster. I am find with that, although I still see value in having separated cluster. Probably topic for ear to ear discussion.
Comment 5 Jesse Glick 2011-05-05 12:26:29 UTC
(In reply to comment #4)
> Jesse convinced me to rather put netbinox
> and other mylyn bundles into ide cluster.

More precisely - the Mylyn libraries, as well as the regular NB modules depending on them, were already in the ide cluster, so I just recommended (bug #197842 comment #3) that they stay where they are. Assuming that Mylyn cannot run on Felix (?), Netbinox consequently needs to be in either the ide or platform cluster, or in some newly created cluster which would be in all IDE-like cluster configs. I tend to agree with JL03 that the platform cluster is the most natural place for Netbinox (as well as the Eclipse RCP base libraries that Mylyn builds on), but the ide cluster works for this purpose too. Of course the division of modules/bundles into "clusters" is largely arbitrary and driven more by organizational than technical concerns.
Comment 6 Jaroslav Tulach 2011-06-22 12:20:31 UTC
Create branch netbinox-198275 in core-main repository and a builder was set up:
http://deadlock.netbeans.org/hudson/job/prototypes-use_osgi_197842/
Comment 7 Jaroslav Tulach 2011-06-28 08:48:32 UTC
Time for more deeper review. Look at 
http://wiki.netbeans.org/MylynViaOSGi#NetBinox
which contains description of current state and see whether it is acceptable. The page provides also wider overview of related changes (e.g. bug 197842 and bug 198248). It is expected that all three issues will be integrated together. However, should there be any problem (probably performance related), it is possible to integrate just the Netbinox for benefit of applications building on top of NetBeans Platform.
Comment 8 Jaroslav Tulach 2011-07-26 13:13:14 UTC
Created attachment 109620 [details]
Profiler snapshot showing initialization of Netbinox on Windows (cold start)
Comment 9 Jaroslav Tulach 2011-08-05 09:50:47 UTC
Looks like the only concern is slower start. This has been mitigated to less than 10% regression and some other fixes are still in the queue (bug 199739 and bug 199740 and bug 200636), thus I'd like to ask again for permission to integrate next week.
Comment 10 Jaroslav Tulach 2011-08-16 13:43:30 UTC
The slowdown is 7%. Memory consumption was a bit up, but this is now fixed, the memory will be released as soon as somebody needs it: http://hg.netbeans.org/core-main/rev/d0d9ef56175f

Approved for integration, with request to also fix bug 200636, bug 199740 and bug 199739 before release 7.1 is done. I'll integrate tomorrow.
Comment 11 Jaroslav Tulach 2011-08-17 13:25:32 UTC
Merged as d14326fa3207