Tag Archives: Open Source

Bazel Eclipse Feature is here!

Are you using Bazel as a build system and doing Java development? Do you want to give the Eclipse plug-in for Bazel a try?

I’ve spend the last couple weeks reworking most of the plug-in to better support Bazel development. It’s approach isn’t very different from the IntelliJ plug-in, i.e. it runs Bazel query and performs Bazel builds with aspects to obtain project and classpath information from Bazel. With that information it creates projects in Eclipse. It also uses project views (.bazelproject) to configure what’s visible in Eclipse.

However, there are a few differences compared to the Bazel IntelliJ plug-in, which I’d like to highlight.

  1. It uses Eclipse projects to map targets so the classpath is really scoped to the classpath of the targets.
  2. It allows for some flexibility how targets are mapped to projects – you can have one project per target or one project per package.
  3. Because of Eclipse auto-build feature of individual Java source files HotSwap just works and is fast.

Documentation is here. The update site is https://opensource.salesforce.com/bazel-eclipse/latest/.

Oh and there is a preview release of a VS Code extension using the same feature to setup the Java Language Server in VS Code.

Some patches for PDE to share

Part of my day I’m working on some cool OSGi server stuff. While doing this I came across a few issues with PDE. Mostly they are around launching and self-hosting.

As with all my Open Source engagements, I just don’t stop after reporting them. I also take the time to analyze them and provide patches for them. Why? Well, it saves me a lot of time in the end because I don’t need to live with workarounds. 🙂

Here is a list of patches produced so far for Eclipse PDE 3.6:

  • Bug 314619 – [patch] org.eclipse.equinox.app is not started when using Eclipse Application launcher
  • Bug 315039 – [patch] Eclipse launch configuration should inherit properties from target platform
  • Bug 315061 – [patch] Should read start levels from bundles.info of target platform when launching Eclipse application
  • Bug 320763 – [patch] SelfHostingProfile needs environment properties

Now, thanks to Eclipse it’s also possible to easily share the patches with you. Just point your Eclipse 3.6 installation to my p2 repository (http://eclipseguru.org/) and install “EclipseGuru’s Patches for PDE“.

Understanding Open Source

I came across this couple of times before and I always wanted to blog about it. In my daily work life I see many developers which just don’t get Open Source. For example, some discover issues in libraries they use. But they don’t fix them. They don’t even inform the maintainers of a library. Yet others have a great new use-case to address. Again, the library doesn’t support it. Thus, they write a great deal of new code to address their issue and eventually run into new ones (for example, see this thread).

But it’s that darn simple!

  1. Checkout the library from source. You can use a well known tag/branch for this.
  2. Get in touch with the maintainers and implement your modifications.
  3. Build and release your modified version until a new official release is available.