>So, my recent blog posting stirred some feathers, started some good discussions, and basically stimulated some creative brain cells. A couple of things that I noticed coming out of the discussion:
- People tend to view the world through Eclipse as being the only OSGI development tool.
- Many believe that a pure Java build system would be easier to deal with than any other build tool: i.e. ANT, Buildr, etc.
- That PDE Build is so abstracted that it is very difficult to figure out what it is doing underneath.
I’ll try to address one point I see a problem with, and that is the way OSGI development is viewed and how the builds should be done. Currently, Eclipse is by far the best OSGI development, because like JDT before it for java development, it is built on top of OSGI. Developers need the tools to develop OSGI bundles. With that said, let’s not forget that their are other IDEs out there that can be used to construct OSGI bundles. Both IntelliJ and NetBeans both have plugins that allow OSGI bundles to be created, tested, and deployed.
So, this brings me around to a general point. Each of these IDEs probably goes about building a OSGI application a bit differently. The common thread was that as a programmer of OSGI bundles I want what I do in the IDE to be reproduced by the build. This may be different depending on the IDE you are using. This is a common item when dealing with traditional Java based development or Web Development. Different developers can use different IDEs. Each of these IDEs may produce their own flavor of how a build is to be done.
Because of these differences, and in many cases the build scripts generated by these IDEs being tied to functionality in the IDE, this is one of the reasons that Martin Fowler in Continuous Integration says a build should not depend on the IDE. Developers may and will use different IDEs when doing development. So the build script that does the build needs to be agnostic in this case.
As much as we like, eclipse for development, it isn’t the choice for everybody out there, and there are growing options for OSGI development outside of eclipse. Just something to keep in mind as the new build systems are constructed to replace and enhance the old.