Bringing Mylyn to NetBeans

J1 Abstract, Presentation Summary and related Notes


  • Usinng OSGi to bring Mylyn to NetBeans
  • Bringing Mylyn to NetBeans and OSGi bridging their worlds ...


Not so long ago, reusing of sophisticated modular components, especially when ripped out of the body of another system, was just a future fantasy. Recently one such dream became true - join us to learn about the fascinating journey the NetBeans team undertook when improving ALM integration and Agile workflows within the IDE, transforming just another set of libraries into something it actually was supposed to be - OSGi bundles running in their natural environment. Learn about this feat both from the perspective of the NetBeans team and from the perspective of an Eclipse Mylyn committer. Find out what we learned and gained so far, see what we are working on and let us show you the horizons of open source collaboration and development.

Presentation Summary

Cooperation is better than reinventing a wheel.

Illustrated on the gradual incorporation of Mylyn libraries and Equinox into NetBeans, advantages of collaboration, clean <a class="inlineAdmedialink" href="#"><a class="inlineAdmedialink" href="#">design</a></a> principles, and being based on a commonly accepted modular technology framework will be placed in contrast with the drawbacks of hacking through limitations, unsolvable dependencies and deviations from convention.

Starting with some basic principles on which the Mylyn API was build up and while explaining the problematic history of the early approaches to reuse Mylyn-s tasks framework and connectors as plain java libraries, the talk will follow up with the integration of Equinox and the Mylyn libraries becoming a good show case, that the OSGi support in NetBeans is mature enough by providing their natural runtime environment and that it is ready for other use-cases.

In addition, the current joint work of the Mylyn and NetBeans development teams will be presented - dealing with unforeseen challenges in the Mylyn API, enhancing it, handling eclipse specific paradigms and creating a generic infrastructure on both, the Mylyn and NetBeans side to make the Mylyn connectors run out of the box in NetBeans as well as in Eclipse, saving so all the still necessary development effort caused by different GUI toolkits and RCP platforms.

At the end of the session a live demonstration will be made, where from within the NetBeans IDE a shared Mylyn connector will be accessed and it's functionality provided in an out of the box manner.

Our Notes

Points to <a class="inlineAdmedialink" href="#"><a class="inlineAdmedialink" href="#">stress</a></a> out about our the NetBeans past:

  • the decision to re-use Mylyn (e.g. overcome not invented here syndrome)
  • to OSGi or not to OSGi?
  • Pain of plain libraries
  • Eating own food - Mylyn as a show-case OSGi works well in NetBeans

The NetBeans 7.2 situation (present one):

  • NetBeans IDE uses Equinox (well Netbinox)
  • Contains about 12 libraries from EclipseRT (non-visual)
  • Alignment with other NetBeans technologies (build system, autoupdate)

The current Mylyn situation:

  • basic principles for making API consumable/reusable (internal v.s. API, bundle boundaries, splitting UI from core)
  • discuss evolution of Mylyn over the last two years (better componentization, extraction of commons API)
  • challenges that could have been eliminated or reduced with better foresight/planning on the Mylyn side
  • Social aspects - having open communication channels for collaboration, and how it helps
  • deviation from convention causes problems with connectors - for example, putting too much logic in the UI bundle

Future Plans:

  • Share something visual (but not-SWT)
  • Mylyn provides metadata, can we reuse? more metadata within the Mylyn API could have been more helpful
  • Likely need work from both sides
  • Goal1: Create one showcase - a connector running in Eclipse as well as in NetBeans
  • Goal2: Improve infrastructure to make sharing easy/possible
  • Goal3: Provide enough incentives to make this interesting for others and help them follow.


  • Describe the changes needed on NetBeans side
  • Describe the changes on Mylyn side
  • Talk about little differences - the devil lies in details
  • Demo how far we got


  • Re-use pays off in long term
  • Re-use too (suggest Mylyn to other applications/IDEs)

TODO: - need more content from Dave

Primary Track

  • <a class="inlineAdmedialink" href="#"><a class="inlineAdmedialink" href="#">Tools</a></a>


  • Mylyn is mature, ready for reuse
  • OSGi in NetBeans IDE makes sharing easier
  • More re-use enlarges the common ground


  • Mylyn
  • NetBeans
  • Eclipse
  • OSGi

Session Type

  • TS

Session Category

  • Case study

Experience Level

  • Intermediate

Attendee roles

  • Architects
  • ...
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