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 ?

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.

Disastrous experiment with Bugzilla

I don’t have much love for Bugzilla.
It got bitter just now when I tried this search on Google. I just looked for references of the word bpmn on bugs.eclipse.org, and the page returns no results.

In the same category, did you know the feeds created with Bugzilla aren’t working with Feedburner or Y!Pipes ? Google Reader has apparently implemented a hack to turn around the issue.

Back in 2001 (?), Bugzilla was a nice choice. Is it still the case ? Can we put up with a silo at one of the most critical places of our system ?

Is the EMO still looking for places to accelerate Eclipse ecosystem growth ? Look no further!

Please post to the newsgroup

Lately I have had a lot of private emails from people asking for help both on the Eclipse and Intalio sides.

Here is the answer I come up with now:

Hi, as an Eclipse committer I cannot reply to conversations in private, as they include IP that might lead to litigation (for example if next month Intalio comes up with the system you describe, and I helped you with that, your company could sue).

If you wish to talk to me privately, there needs to be an agreement between our companies, you can contact sales@intalio.com to that regard.

Depending wether this is Eclipse or Intalio:

In the mean time, please post to the forum: http://bpms.intalio.com/forums.html and I will reply there, as well as the community.

In the mean time, you can post to the newsgroup, to stp-dev@eclipse.org or stp-user@eclipse.org. (and I’ll reply the best I can).
You can also ask on #eclipse-stp on irc.freenode.net.

So if you are tempted to talk to me privately, please tell me why, or you will get something like this email.

Question to the Eclipse community: how do you guys handle emails like this ? is there a guideline for committers posted somewhere ? (I didn’t really look, it might be just around the corner).