Either:
1a) A new tag in GWT modules to specify a subdir in the output folder
to deploy into, something like: <deploy-path value="/shortName" />
- This specifies a subdirectory inside your WAR directory that GWT
should output public files (and compiled files) into. For backwards
compatibility, the default value if this tag isn't specified will be
the fully-qualified module name.
- Our project creator could emit a either a module short name, or a
constant name (such as "gwt" or "compiled").
- A user could also specify "/" to dump the output directly into the
top level of the WAR directory.
- <deploy-path> tags are inherited and last-one wins.
or:
1b) A new attribute "deploy-path" on the <module> tag.
- As above, except that the value is not inherited.
2) GWTShell (or another entry point) requires you to specify the
modules you care about on the command line. This is critical because
during hosted mode development, we need to create a map of deploy-path
-> module name. It also breaks potential circular dependencies
between static html files and public resources. It also gives an easy
answer to "What does Compile/Browse do?" in hosted mode.
3) The GWT module <servlet> tag is deprecated; it only works in legacy
mode and is ignored (or generates a warning) in WAR mode. Instead,
you should configure servlets in your web.xml.
--
Bob Vawter
Google Web Toolkit Team
> 3) The GWT module <servlet> tag is deprecated; it only works in legacy
> mode and is ignored (or generates a warning) in WAR mode. Instead,
> you should configure servlets in your web.xml.
Does WAR mode offer the same inheritance benefits? What I mean is
this: Today, I provide a servlet that accompanies the
Chronoscope.gwt.xml module. Chronoscope itself has no entry point, it
is a module made to be inherited. Any GWT module that inherits
Chronoscope would get servlet config inherited with no need to
configure anything. "It just works" And with the gwt-maven plugin I
use, the <servlet> module descriptors are merged into any web.xml on
behalf of the user, again, hassle-free module inheritance.
With a pure module like Chronoscope, which has no entry points, but
does have servlets, I'm unsure if it even needs a web.xml. If I
provided one, and another project inherits from Chronoscope, and has
its own web.xml as well, how do the two web.xml instances interact?
Does the entry point module's web.xml win? This then seems to require
that the developer scan the jars of every module he inherits looking
for servlets so that he can add them to his web.xml
I don't know what the solution is, but I kinda liked the <servlet>
module tag and it's ability to be picked up by inheritors.
-Ray