A couple of weeks ago I sent a form to OSGi dev mailing list. I have started to share the summary of answers with the community. As there were many questions, I decided to split the content and publicize it as several posts. If you are interested, the first part is here.
In the last couple of months, I visited some companies. I had the idea that every OSGi developer uses Eclipse. I was surprised as I saw that many developers prefer InterlliJ even without direct OSGi support. I had to ask the following question to get a clear picture:
The second answer is Eclipse + BndTools. Sadly Google cuts the end of it down. There might be some overlappings as two developers responded Eclipse and Eclipse + BndTools together. There were some developers, who filled the other section with the following contents:
- Command line
- Looking at moving from Netbeans to Eclipse + BndTools
We are developing an Eclipse plugin at the moment to support starting, stopping and upgrading OSGi containers based on Maven configuration. We will check if we can develop an IntelliJ plugin as it seems to be very popular, too.
I was interested if people are satisfied with their IDE or they need other features. So I asked the following question:
What features do you miss in your development environment during your work?
People had lots of ideas for new features here:
- Bndtools for IntelliJ would be nice, if 100% compatible
- Most IDEs seem to ignore the fact that the real work is done by the CI; it’s fairly useless to integrate testing in an IDE if it cannot be scripted and run consistently on a CI server
- IntelliJ has very poor support for OSGi compared to its Java EE and Spring integration
- Stability. Eclipse crashes a lot and the plugis will break other plugins. I have lost maven capabilities on a number of instances and have to reinstall
- Integration between BndTools and Karaf
- a component diagram generated from DS or other component frameworks would be very nice to get a higher-level overview ; bndtools not used because only Eclipse and forces conventions on us (e.g cnf/) that leak into git, and our build.
- Manifest Viewer and Diff
- Dependency resolution at build time based on OSGI meta data
- Debug Tooling and visualization for service/ component startup. IDE based Service Catalog for finding and using appropriate services with descriptions (meta data service) how to use them as a developer.
- something that can ease for debugging
- P2 Repo support in Bnd
- realtime baseline error feedback
- BndTools (the same developer answered that he/she develops with IntelliJ)
- Looking for developer studio for IntelliJ 🙂
All of them are very valuable answers to me. However, I would like to highlight one:
a component diagram generated from DS or other component frameworks would be very nice to get a higher-level overview
I talked to other guys, and it seems that many of us want this feature. I wanted it, too. That is why I started to develop a WebConsole plugin for our component model. The latest version (that includes the graph) of the webconsole plugin is not released yet, but the majority of the work is done. Here is a screenshot in case you are interested:
Part 3 will come within a couple of days. Stay tuned!