Tuesday, February 15, 2011

Frustration with GWT 2.2 Upgrade

First, I'll admit that, as a developer on an open-source utility for GWT (gwt-multipage), I probably should have tried out the builds of GWT 2.2 before the final release. However, I'm to not the only one who wasn't prepared.

Many people seem to be struggling with upgrading their applications to GWT 2.2. A common theme seems to be when the application uses a code generator, either directly in the application or indirectly by making use of something like GIN. It seems that GWT 2.2 introduces a binary incompatibility with code generators by changing some classes to interfaces. Therefore, when upgrading the GWT jars to 2.2, you also have to upgrade the jars of any libraries that use code generators to versions that have been compiled against 2.2.

I mentioned that I'm the only one who wasn't prepared. GIN, a project maintained by Google employees, does not have a build ready. They even seem to still be debating how to manage the releases to provide compatibility with GWT <= 2.1.1 and >= 2.2. The google maps API jar, part of the gwt-google-apis project, is also affected.

That's what I know so far about the problem. I'll try to post what I know about the solution once I get a chance to experiment with it some more.