I have been looking for a solution to this problem for over a year and
every time I get close they change the default linker and break any
workaround I have found. I still advocate that there is a need for
this to be supported by a GWT linker, even if it isn't the default
one, but I did find one solution that you may solves the problem. The
idea is that when you install such a module, a reference is kept on
the server side and the index.jsp is populated with the script tags
for all installed modules. Each sub module must contain a class that
extends an abstract sub module. The abstract sub module must use a
method similar to GWTExporter to expose the root element of the module
and a way to make calls between the modules. Also, I put a layer
between the abstract methods to do these things and the native methods
in order to do RunAsync and limit loading. You also will have to make
a common sub module entry point that calls GWT.create on your abstract
sub module and in the implementing module you will have to use
deferred binding to get it to work. You will also have to call
GWT.create on your exporter class here in order to inject it's native
methods. I'm sorry I cannot post any source code and this is as far I
can go in explaining it, but you should end up with 3 modules + any
sub modules...
/GWTPluggableCore.gwt.xml
/GWTPluggableCommon.gwt.xml
/core/CoreEntryPoint.java (extends EntryPoint)
/common/AbstractSubModule.java (
/submod/SubModuleCommon.gwt.xml (entry-point SubModuleEntryPoint,
inherits GWTPluggableCommon)
/submod/SubModule1.gwt.xml (replaces AbstractSubModule with SubModule,
inherits SubModuleCommon)
/submod/common/SubModuleEntryPoint.java (extends EntryPoint)
/submod/submod1/SubModule.java (extends AbstractSubModule)
Here is a thread from a little over a month ago where I asked the same
question:
http://groups.google.com/group/google-web-toolkit/browse_thread/thread/dcf33b6ba98aaaf/cbc4420cca462639?hl=en&lnk=gst