tags:

views:

1161

answers:

3

Has anyone upgraded an app from GWT 1.5 to GWT 1.6? I'd like to hear if you had a strategy that you liked for this, or if you even needed a strategy.

Obviously, I can read the upgrade doc. Just wondering if someone's done the upgrade and hit any gotchas.

+1  A: 

GWT Upgrade Page

Carnell
Thank you for your response. It helped me to clarify the question.
Don Branson
+5  A: 

I went ahead and began the conversion. I haven't finished yet, but in case someone else is considering an upgrade from 1.5 to 1.6, I'll go ahead and answer the question with what I've seen so far.

  • If you're using the cypal plugin for eclipse, it doesn't support GWT 1.6 as of this time. Uninstall it by removing the plugin jars and restart eclipse. Install the Google Eclipse Plugin as a replacement (but see the problems with it below). The plugin won't recognize your existing project as a GWT project. An easy way around this is to use the plugin to create a new project, then copy over the buildSpec and natures sections from that project into your real project. Now the plugin should recognize your project.
  • The upgrade instructions say to create a new web.xml. Instead, use the one you already have, and copy it over. No changes are needed.
  • Add the google app engine SDK and the GWT DSKs to the project build path
  • GWTCompiler changed to Compiler. The upgrade docs don't discuss the changes you need to make here, but you at least need to replace the -out option with -war.
  • For many people (all?), the compiler won't work, and fails with a stack overflow error. You can fix this with the command line tools, but I haven't found a way to fix it with the plugin. To fix this from the command line, you'll need to add a stack parameter to increase the size of the stack. I build with ant, so I added the following line to build.xml:

    <jvmarg value="-Xss64M" />

As I learn more, I'll update this.

Update 5/3/2009:

The upgrade is done. Not sure I like it as much as 1.5. Eclipse isn't entirely in tune with the new file layout. That is, it's not recognizing the war directory as being the root for web content now. There's probably a setting for this somewhere.

Additional notes:

  • In your code, remove references to InetAddress (which was being used to generated GUIDs for registration in my app). This may be because my GUID code needs to move to a different package, not sure.
  • Copy appengine-web.xml in WEB-INF from the temp project into war/WEB-INF
  • The eclipse plugin compiles hibernate objects with some crap that adds a jdoDetachedState column to all my tables. Yuck!

For the last item, the code isn't being instrumented by the ant build, so the production deploy isn't affected by this bug. It's only the code generated by Eclipse, which I explicitly exclude from the production war.

The following is a gratuitous plug for the web site where this is deployed, so don't read it if such things annoy you: https://penwag.com/

Update 5/9/2009

  • My email ITs don't work any more - the App Engine SDK interferes.
  • My IDE (Eclipse) doesn't coexist well with the new layout, so it doesn't recognize that war/WEB-INF/lib jars should automatically be put in the path.

Update 6/2/2009

Don Branson
+1  A: 

We managed to use the Xss option with Cypal: go to Preferenes, Cypal Studio, try with Default VM Option: -Xmx1024M -Xss1024k

HTH Vincenzo Caselli http://www.rcp-vision.com

OF course! Ah! I should have thought of that. Thank you.
Don Branson