Twitter github

Posts Tagged with “eclipse”

FYI: New Style Source Bundles

In Eclipse 3.4, source will be shipped as individual bundles instead of the old way via the org.eclipse.pde.core.source extension point. So now you will see many bundles with the format of <id>.source floating in your Eclipse installation. What’s nice about this is that now source is just shipped as another corresponding bundle so there’s more flexibility there. If you peer inside these bundles, you’ll discover a new manifest header:

Eclipse-SourceBundle: org.eclipse.pde.core;version="3.4.0";roots:="ant_tasks/pde-antsrc,."

This header simply states what bundle you’re providing source for (ie., org.eclipse.pde.core) and where the source roots are within the bundle.

If you need more information, check out this wiki entry.

This new source format will make its debut in Eclipse 3.4M4.

Eclipse Help on Different Servers

The ability to run the Eclipse Help System on different servers will becoming a reality in the 3.4 version of Eclipse. I’ve heard this request quite a few times from various people so it’s nice to finally get this taken care of. It looks like people have managed to get the help system running on WAS, WAS CE and Tomcat so far.

To stay informed, cc yourself on this bug.

Some PDE BugDay Results

There were some cool things done in PDE for the Eclipse BugDay. Let me highlight a couple.

An improved log view due to Jacek Pospychala (Group By implemented and current session is highlighted):

An improved Plug-in Spy (ALT+SHIFT+F1) with hyperlinking enabled for plug-in references due to Willian Mitsuda:

Thanks everyone for the patches and the time you took to participate in bugday!

Externalizing Strings with PDE

During the past couple weeks, I ran across a few people and bugs that dealt with externalizing strings in PDE. For just about every issue that I came across, the problem could’ve been easily averted with some best practices around plug-in development.

The first best practice is to always remember to use the Externalize Strings wizard in PDE:

Let PDE and the wizard do the work for you:

The second best practice is to enable compiler settings around externalized strings for plug-in development (these are set to IGNORE by default):

When this compiler setting is enabled, you will get warnings around strings that need to be externalized or can’t be found in a properties file based on your Bundle-Localization MANIFEST.MF header.

With these plug-in development best practices, you should have no problems externalizing strings the proper way for your plug-in based applications.

Hope this helps.

When !@#$ Hits the Fan Developing Plug-ins

About once a year, I’m graced with a message from PDE complaining about plug-ins being out of sync. It’s a nasty message as it usually catches you by surprise and makes you wonder how the heck can anything be out of sync?

Some lucky Eclipse community members have run into this issue also… which is unfortunate because it’s generally not an easy issue to fix without understanding what is going on behind the scenes. From a PDE viewpoint, the error message simply indicates that one of the bundles within the PDE state has been somehow modified outside the workspace.

I can cause this error to appear when opening a MANIFEST.MF outside of Eclipse in VIM and editing it. I believe this is what most people do for that error to appear. In any case, enough talk and back to the point of this post, what to do when !@#$ hits the fan in PDE. Here’s what to do if you’re convinced that PDE is being bad:

  1. Restart Eclipse. If the errors don’t go away…
  2. Start Eclipse with the obscure -Dpde.nocache=true property. This should force a rebuild of the PDE state. If the errors don’t go away…
  3. PDE stores its state in the workspace (metadata/.plugins/org.eclipse.pde.core), delete it the old-fashioned way.

If everything fails still, I’m pretty sure PDE isn’t at fault anymore and it’s something else.

I hope this helps.

Happy BugDay!

Here’s just a reminder that Eclipse BugDay is upon us again. I actually managed to participate this time around and fix an issue in Mylyn that bothered me to no end. If you have time in your day today to go through some bugs, please do so. Here’s some interesting ones from PDE:

  • [154206] – Ensure that bin.includes does not refer to the source
  • [199098] – [Schema][Editors] Duplicate names are allowed from source page
  • [208742] – NLS of WorkspacePluginModelBase only works if resource is called plugin.properties

Good luck bug squashing!

Eclipse and Clouds

I often think that Eclipse is the victim of its own success when it comes to problems related to assembling the mass of plug-ins available for people. Nonetheless, this isn’t a bad problem to have. However, when it comes to problems, people tend to come up with solutions. It looks like we have another unique solution to this problem of plug-in assembly by Cloudsmith today.

From the announcement, “…the site, now in public beta, is designed to make it easier and faster for developers to assemble, use and reuse software components. Cloudsmith’s infrastructure also aggregates the work of developer communities to help them create and maintain software configurations, with or without the support of a commercial vendor.”

How does this compete with the recently launched Pulse service? I don’t know, it’s hard for me to test out the Cloudsmith service behind my 56k-like connection currently in Jakarta. All I know is that the Eclipse community is starting to have a lot of options in how it gets its Eclipse and we may see the day that Eclipse downloads outside of the Eclipse Foundation’s walls will be more common place.

Plug-in Versioning and PDE

When working on Eclipse, you get spoiled as a developer with certain things. I for one, get spoiled silly with the wonderful Java development environment provided by the JDT.

However, another thing I get spoiled by is plug-in versioning. Eclipse actually has versioning guidelines that are reasonable and pretty well followed within the Eclipse Platform. It’s not like where in certain experiences, I’ve known people to make up versioning guidelines without any respect to API and just rev the version when you release, whether things have changed or not. In essence, plug-in versioning is something I believe should be taken seriously and well thought about it before slapping something on (or just leaving the version empty like most people do).

To help with plug-in versioning, I recently dropped code in the next I-build based on an old bug that I had time to hack while on the long plane ride. Here’s the use case…

You’re trying to version a plug-in and open up the properties dialog:

That’s not too helpful… sure you can specify the versions but you aren’t really sure what you’re developing against. Here’s how it looks like after the patch:

Now you can see the versions available in your target and workspace. If you select the ones you’re interested and click match, it will properly construct the minimum and maximum versions:

So, let me know what you think. Also, this means no more excuses when setting up your dependencies and versioning plug-ins, OK :)?

links for 11-24-07

PlanetEclipse is growing at a healthy rate:

Someone is trying to make Eclipse more like Emacs via the EclipseMail plug-in:

Zend is going to release a product, Zend Studio for Eclipse, soon based on PDT.

PDE Does Singapore

Well, I’m off on my Asia adventure today. This involves being on a plane for 24 hours but, I think it will be worth it once I get to talk Eclipse and plug-ins at JAX Asia next week. My offer of discussing Eclipse over a frosty beverage always stands if anyone is in the Singapore area 😉

A long trip on a plane for me can only mean one thing, productivity. I plan to squash some Eclipse bugday bugs on the plane ride, one of them being one of my favorite Eclipse pet peeves: wizards that suffer from amnesia. I also plan to work on some new articles that will discuss some plug-in development best practices that I’ve learned over the years and touch on some aspects of PDE that aren’t understood well (ie., the target editor, automated management of dependencies, plug-in search, etc…).

I’ve also been looking over EclipseCon submissions for the tracks I’m chairing. It’s going to be really tough to choose the long talks… there’s a lot of good submissions with not many slots to fill. There’s also some really good short talks and tutorial submissions this year. Why do you guys have to make it so hard :(?

On a side note, if you’re interested in a rich text editor in Eclipse, voice your support on this bug which aims to make the sexy editor out of the EPF project consumable for third parties. In case you want a sneak peak at the editor’s features, Philip Beauvoir has already done some work in this area to make the editor consumable in an RCP application.

Remember to rock the vote on Eclipse bugs you care about 🙂