Wednesday, May 15, 2013

Thank You Google!


Yesterday I asked you to vote for the JRE that you're using in production to get an impression whether we need to keep support for Java 1.5. The participation was very good, there were 45 votes in the first two hours. The majority of the voters is using Java 1.7, a second majority is using Java 1.6, almost noone is using Java 1.5, noone is using Java 1.4 or 1.8.

Then, all of a sudden, I realized a decrease in total votes. First they dropped down to 19, now they're at 10. The problem of disappearing votes is known for almost a year. Thank you Google, a warning note on the poll gadget would have been nice!

Here's a replacement that hopefully works better:

What JRE Are You Using?
  

Tuesday, May 14, 2013

Still Using Java 1.5?

Traditionally most Eclipse plugins declare a Java 1.5 compatibility in their bundle manifests:

Bundle-RequiredExecutionEnvironment: J2SE-1.5

And so does CDO. Now it seems that newer versions of some JDBC drivers (e.g. HSQLDB) start to depend on Java 1.6 and, unfortunately, the JDBC API of Java 1.6 is not compatible with its 1.5 pendant.

We're currently discussing how to deal with this problem and we're very interested in your opinion. Please participate in this small poll to give us an impression on whether Java 1.5 support is still needed:

What JRE Are You Using?
  

Saturday, May 4, 2013

Copyright Headers from the Git History

The other day Vincent Zurczak has blogged about Updating Copyright Mentions with Eclipse and his way of maintaining legal headers in software artifacts is very similar to what we've always done in CDO. We had the exact same header in all artifacts and we used search and replace once per year to update them all. For us that has several disadvantages:
  1. Most importantly that means to modify files that have no other (real) changes in that year.
  2. It was hard to find the files with missing legal headers.
  3. It was hard (well, mostly because I wasn't smart enough) to have different copyright owners.
What I always envisioned was a tool that identifies files that could or should have legal headers, consults the Git history for these files and assembles a copyright line as follows:

Copyright (c) 2008, 2009, 2011-2013 Owner and others.

Yesterday I've finally finished this tool:



A simple Check Copyrights for missing copyrights ends with:

Copyrights missing: 0
Copyrights rewritten: 0
Files visited: 22722
Time needed: 5.73 seconds

If there are copyrights missing the tool produces a list of the paths and can optionally open them in editors. The Update Copyrights action takes approx. 35 minutes on the same working tree and results in files with beautiful legal headers that are totally in line with the Git history.

If you are interested in the code have a look at UpdateCopyrightsAction.java. There are just a few places that are CDO-specific and I would be happy to review your patches to make the tool more flexible.