How to add custom navigation links on the wiki.eclipse.org left bar

This proved to be well hidden ; you can add your own links to the left bar of the wiki.eclipse.org website by adding them individually to the project metadata.

leftnavbar-project-metadata

  1. Log into portal.eclipse.org with your committer credentials
  2. Go to your project, and click on “Maintain project meta-data”
  3. Click to edit the “project left nav” property
  4. Now you can enter your link information:
  5. Just save it, and do it as often as needed.
  6. Go to your wiki page and edit it
  7. Add this to the page: {{#eclipseproject:your.project.id}}
    I prefer using a template for this though.

Eclipse committers, turn your NLS warnings on

I just came to realize that it is possible for the Eclipse compiler to track the missing NON-NLS entries, ie it can detect non-externalized strings.

Please consider opening your Eclipse, go to the preferences, then open Java>Compiler>Error/warnings and look for the option “Non-externalized strings”.

Please push that option so that it issues warnings whenever it finds a non-externalized string.

Otherwise, I’ll keep sending people to the cross-project list, or I’ll ask the AC to consider setting the non-externalized string flag as an error when compiling the Galileo RCs. I hope I won’t have to do that.

EMF::acts_as_ActiveRecords

Not sure you followed the latest news about Intalio, Inc. We just rolled out a new website, and we are introducing a new project named Dogfood.

The Dogfood project is exactly what it looks like: we are going to line up and eat our own software until it makes us sick of it. And then we will have some more.

As part of the project, I am tasked to find a way to transform a spreadsheet with some clear conventions into a fully executable process.
Our BPMN model being EMF-based, I showed it to the team, and we feel it’s simple enough that we can generate the XML from the spreadsheet.

How do you generate a EMF-generated model those days ? You would fire up Eclipse, open the diagram editor and modify what you see on screen. Or you would open the default tree editor and make some changes.

Here, we are looking at a different story. Indeed we want to generate our model without Eclipse. And why not without Java.

My idea is to use the ActiveRecord way to generate a model by reading the ecore file(s). The bright part of the idea is that you can have ActiveRecord read the ecore files and load up the classes in memory. There is no actual generation. You change the ecore file, run again, everything is here.

My hope is to be able to do this:

p = new Pool
activity = new Activity
activity.name = "sample activity"
activity.graph = p
other_activty = new Activity
other_activity.graph = p
s = new SequenceEdge
s.source = activity
s.target = other_activity

Did someone think of doing something like that before ? Is there someone crazy enough to read ecore files and create the metamodel inline around ? Does someone know of a way to use ActiveRecords with something that isn’t a DB table ?

Eclipse batch compiler: what’s in the jar ?

So I was annoying one person too much with Eclipse and how it rules the universe, and he asked back: what is exactly the Eclipse batch compiler doing ?

So I just went to the Eclipse website, and looked for the Eclipse compiler. I ultimately found out the page where release notes are posted, you need to look at each version to get an idea though.

The Eclipse help system for sure has a nice documentation on how to use the compiler, but it doesn’t explain in too much detail what it does.

This post by Wayne, yet again naked in icy water, was more insightful.

It does wonderful things. My personal favourite thing about the Eclipse Java compiler is the fact that it will compile code that contains errors. That is, when you compile code that has errors in it, the compiler will flag those errors for you and then generate the .class file anyway. You can actually run and debug the code and, should the runtime actually run into your errors, it will then throw an exception.

So now I’m looking if someone compiled a feature list of the compiler somewhere in case I missed something. If you happen to have one hanged to the wall, I’d take it happily.

jBPM integrates the BPMN modeler

I’m not sure if jBPM uses the code from JWT or STP-IM, but it apparently created a powerful transformation wizard to transform BPMN into jPDL.

I’m glad they chose the BPMN modeler as the base for their work.

jBPM folks, would you like to be listed on our integrators page ? If you like your ride with our project, please consider sending a quote!

The Union of The CheckBoxTreeViewer TreeItems : We shall be disabled together, or die in single combat!

Dear committer, prepare your jFace-foo !

We have a case where we have a CheckBoxTreeViewer that represents a list of elements.

The list in itself is informative. The user is going to be very interested into what is selected, and what isn’t.

It’s certain that at some point he will expand the tree to look at some nodes, come back, etc.

Right now, you cannot disable the checkboxes of a CheckBoxTreeViewer without disabling the whole tree.
So that means that your users cannot check checkboxes (that was the intent), but they also cannot expand the tree.

What if you’d like to disable some checkboxes only ? That’s unsupported too.

Unfortunately, there is no solution for this problem so far. I filed 259092 earlier today to investigate the issue, and it seems you can try to add a listener to revert the check event when the user clicks on checkboxes. Users would still see the items as enabled though, and given the complexity of the interface, adding a tooltip, a new decoration is just going to be confusing.

If you have a spare vote to cast for this bug, a comment, and idea, and ideally a patch, let’s talk about it on the bug!

Open the internal web browser with Firefox (when Safari is default)

Somehow I had the feeling that I was in control when it came to specifying the browser I wanted to open.

Apparently, it’s true for external browsers. For internal browsers, ie those that show in a view or an editor in Eclipse, not so much.

What happens is that the information get lost. You specify the browser type when you do the call to open the browser:

PlatformUI.getWorkbench().getBrowserSupport().createBrowser(SWT.MOZILLA, ...);

But this is simply ignored by the internal editor. Not for too long though, since I attached a patch to 259171 fixes the problem.

Your feedback on this is welcome, of course please feel free to comment on the bug rather than here.

Building Eclipse plugins with Buildr

As of now, the right way to build Eclipse plugins is to use the releng code or Buckminster.

It all comes down to an ant task that calls a JDT batch compiler (copied from the scripts of SWTBot):

<javac destdir="${temp.folder}/@dot.bin" failonerror="${javacFailOnError}" verbose="${javacVerbose}" debug="${javacDebugInfo}"
      includeAntRuntime="no" bootclasspath="${bundleBootClasspath}"
      source="${bundleJavacSource}" target="${bundleJavacTarget}">
			<compilerarg line="${compilerArg}" compiler="${build.compiler}"/>
			<classpath refid="@dot.classpath" />
			<src path="src/"/>
			<compilerarg value="@${basedir}/javaCompiler...args" compiler="org.eclipse.jdt.core.JDTCompilerAdapter"/>
			<compilerarg line="-log '${temp.folder}/@dot.bin${logExtension}'" compiler="org.eclipse.jdt.core.JDTCompilerAdapter"/>
		</javac>

This code is pretty heavy because you have to specify the classpath yourself (the @dot.classpath in there).

I have watched Buildr since its inception. I had made the wish to hack it in a way that I could build our plugins with it.

Essentially, what’s cool with Buildr is that it does what you want it to do, not more. It is written in a minimal way, so you can script and chain tasks. Think of it as make for Java.

Ketan came up to the Buildr user list some time ago with the same idea. He is maintaining SWTBot and he already hacked Buildr to make it behave for plugins.

Together, we are opening a new project Buildr4eclipse, that will take place on Google Code and Github.
We are going to provide an extension to Buildr to make it possible to build Eclipse plugins, first by plugging the JDT compiler in, then by making it even easier by using the dependencies declared in the manifest directly.

We welcome feedback and your help towards that goal.

This work takes place as SOA Tools is working on its build system to make it more adaptable and suited to our brand new sub-projects.

Would you like the Eclipse Foundation to support a git repository ?

Would you like to be able to be hosted on git at eclipse.org ?
Then please vote for this bug.

If you are interested into tooling support, Egit should be your deal. They are currently building an informal proposal to join Eclipse. How about having the git tooling project hosted on git ?

Thanks to rcjsuen, ketan and ijuma for the insightful IRC chat.

Collect praise for your Eclipse project

At Intalio, my company, we find very important to collect feedback at the end of trainings. From that feedback, we sometimes extract very nice quotes from actual customers.

We pride ourselves with them and we display them on the website as a proof of our ability to deliver.

And of course, it helps people to trust our product.

So how about we do the same thing for our Eclipse projects ? I could imagine having a json array on the CVS website, from which I would randomly pick three quotes every time the home page is reloaded to place them on the right.

Thoughts ? Quotes ? Please comment on this bug.