Tuesday, May 26, 2015

Avoiding Copying "Public Artifacts" during every Incremental Recompile in SuperDevMode

If you have a GWT Module with public artifacts specified,  then for every Java tweak, the incremental recompile in SDM will recopy ALL of the public artifacts (typically from a JAR to an output directory).  This seems to run after the last linker:

 Invoking Linker RPC log linker
 Invoking Linker Export CompilationResult symbol maps
 Invoking Linker Emit compile report artifacts
 Linking Public artifacts into /tmp/gwt-codeserver-6638507619440723950.tmp/com.test.HelloWorld/compile-2/war
       Emitting resource 08154E1BC13667F9667D8C3CC28891C3.cache.js
       Emitting resource clear.cache.gif
       Emitting resource compilation-mappings.txt
                           :
        (thousands of files)

I'm aware of a PrecompressLinker that can be inherited, but that actually may make things worse.  In this situation the server is local, so I don't care about optimizing files for the web server or transmission during browsing - I want to avoid the copying overhead during the incremental recompile.

Is there any solution to this built in to GWT?  Some linker setting?  The only option I see is for me to zip up the artifacts myself before the dependency jar is created, and then add a post-linker to unzip the files (only if the jar date has changed let's say).  I'm not sure however if I can get a linker to run after the "linking public artifacts" stage.

--
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