Friday, November 14, 2014

Re: SDM doesn't recompile generator files outside client package



On Friday, November 14, 2014 2:56:06 PM UTC+1, Ali Akhtar wrote:
Thanks Thomas. Running the project in debugger rather than regular run, doing a hotswap, and then changing a file in client package, seems to do the trick.

If a client package file isn't modified, sdm skips recompile because 'no files were modified'. Just adding some whitespace seems to be enough.

Strange why updating the web server doesn't do the same thing, i.e it even restarts the web server if you ask. Oh well.

The "web server" uses its own ClassLoader (per the Servlet spec) which loads classes from WEB-INF/classes and JARs in WEB-INF/lib; "reloading the web server" corresponds to "redeploying the webapp" in Servlets parlance.
There's not such thing for a Java app that's not a webapp, like the GWT DevMode, CodeServer or Compiler.
 

Thanks a lot for the help.

On Friday, November 14, 2014 6:23:53 PM UTC+5, Thomas Broyer wrote:
You can use hot code replace; either through IntelliJ (see https://www.jetbrains.com/idea/help/reloading-classes.html and https://www.jetbrains.com/idea/help/debugger-hotswap.html) or using tools like JRebel.

On Friday, November 14, 2014 1:38:38 PM UTC+1, Ali Akhtar wrote:
I have a project at com.foo, with a com.foo.client package, and a com.foo.rebind package.

Rebind contains generators which are used in the module.gwt.xml file, e.g:

<generate-with class="com.foo.BarGenerator">
    <when-type-assignable class="com.foo.Bar" />
  </generate-with>

The problem is, when I run this through IntelliJ as a normal GWT configuration, using 2.7.0-RC1, then on reload, while sdm recompiles, it seems to only recompile the files in com.foo.client, and com.foo.rebind seems to remain untouched, i.e any changes I make to the generator don't take effect.

The same happens even if I update the web server by clicking the update button. In the end, I have to completely stop the run config, and start a whole new run config, which then restarts the web server as well as the codeserver, and takes several mins to complete. The process is quite slow.

Is there any workaround, so that com.foo.rebind is recompiled & new generators are made with each sdm recompile? If not, what's my best option?

--
You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscribe@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at http://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.

No comments:

Post a Comment