Monday, November 10, 2014

Re: GWT 2.7.0-RC1 and collapse-property generating too many permutations?

I can't see any other deferred binding property, but I'm not an expert here.

If I replace the user.User inherits with core.Core and useragent.UserAgent, then I do get the expected two permutations, not four. So something in there is forcing it to be more, but I don't know what that is, nor really how to find it, short of doing some kind of binary search by removing all of the inherits.

$ cat $INPUT/GWT_UI.gwt.xml

<?xml version="1.0" encoding="UTF-8"?>

<module rename-to='gwt_ui'>

  <!-- Inherit the core Web Toolkit stuff.                        -->

  <inherits name='com.google.gwt.user.User'/>

<!-- <inherits name='com.google.gwt.core.Core'/>

  <inherits name='com.google.gwt.useragent.UserAgent'/> -->


  <!-- Other module inherits                                      -->


  <!-- Specify the app entry point class.                         -->

  <entry-point class='com.example.javascript.gwt.client.GWT_UI'/>


  <!-- Specify the paths for translatable code                    -->

  <source path="javascript"></source>

  <source path="ui/constants"></source>


  <set-property name="compiler.stackMode" value="native,emulated" />

  <set-configuration-property name="compiler.emulatedStack.recordLineNumbers" value="true" />

  <set-configuration-property name="compiler.emulatedStack.recordFileNames" value="true" />


  <set-property name="user.agent" value="gecko1_8,safari,ie10"/>

  <collapse-property name="user.agent" values="*" />

</module>



$ cat $OUTPUT/compilation-mappings.txt
3A7A948DF28EE4B1A3BC2D30B5EBE9A5.cache.js
compiler.stackMode emulated
user.agent gecko1_8

3A7A948DF28EE4B1A3BC2D30B5EBE9A5.cache.js
compiler.stackMode emulated
user.agent safari

72E5334753971D9860C29F1DB12536AD.cache.js
compiler.stackMode native
user.agent gecko1_8

72E5334753971D9860C29F1DB12536AD.cache.js
compiler.stackMode native
user.agent safari

87CD617003E8B14B10B7CAFE63839A9D.cache.js
compiler.stackMode native
user.agent ie10

FAC6E4402FDB66011880FAA526D2A1B7.cache.js
compiler.stackMode emulated
user.agent ie10



On Monday, November 10, 2014 11:33:29 AM UTC+1, Thomas Broyer wrote:
Are you sure there isn't any other deferred binding property that could generate the second permutation?
The xsiframe linker (used by default in 2.7) should generate a compilation-mappings.txt file that can tell you which properties led to each permutation.

On Monday, November 10, 2014 1:11:00 AM UTC+1, Paul Wagland wrote:
Hi all,

So, I decided to try out our application with GWT 2.7.0-RC1. We don't use any of the widgets, only the Java->JavaScript compiler.

One of the things that I noticed, is when I specify:

  <set-property name="user.agent" value="gecko1_8,safari,ie10"/>

  <collapse-property name="user.agent" values="*" />


With versions prior to 2.7.0, this generated 1 permutation. With 2.7.0-RC1, it generates two. The only difference between the two generated javascript files is the names of the browsers, and the hashcode. I am sure that there would be differences in the widgets, but since I am not using them…

Is this a known change and/or issue? If so, is there any way to force 2.7.0 to only generate the one permutation?

Thanks in advance,
Paul

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