[GWT] Design Doc for 1.6 WAR structure
In 1.5, GWTShellServlet served resources directly off the classpath (for public files), or generated files from a temporary location. This has the advantage of allowing fast refresh and resource updating, and making things "easy". However, it has the downside of not leaving the user with something that's easy to deploy.
We will rectify the deployment issue in 1.6 by standardizing GWT around the "expanded WAR format". The two key principles are:
- The result of running the GWT compiler (and possibly some associated tools/build rules) will be an expanded WAR directory structure that can be immediately deployed to a Java Servlet Container compatible web server.
- Hosted mode will operate using essentially the same format, in the same directory, to ensure that hosted and compiled web applications behave the same.
In 1.6, we always dump all resources directly into the WAR directory, which the server serves directly out of. We automate in hosted mode what a build process would do. This is triggered by the Hosted Browser actually executing a selection script; the selection script (when running hosted mode) forces a hosted mode link. Subsequent GWT.create() calls may cause incremental links.