English version

I am working on an international CRM project based on JDK 6, GWT 1.5, MyGWT/Ext GWT, tomcat 6, maven, hibernate, spring, Oracle, ...

This business application must worked with Firefox 2, IE 6/7 and 9 locales (the target is about 15 locales).

This a very large GWT application and it takes a long time to compile, about 12 mn "only" for GWT maven module : this is a long time in development mode.

GWT spends time to compute permutations : create javascript file per browser/locale. With this kind of application, GWT produces 50 permutations :

  • 5 browsers : ie6, opera, gecko1_8, safari, gecko
  • 10 locales : default, de_DE, en_UK, fr_FR, hr_HR, hu_HU, it_IT, nl_NL, pl_PL, pt_PT

This is my module.gwt.xml :

<module>
    <!-- Inherit the core Web Toolkit stuff. -->
    <inherits name="com.google.gwt.user.User" />
    <inherits name="com.google.gwt.i18n.I18N" />

    <!-- Add support -->
    <inherits name="com.aaa.bbb.ccc.XXXCore" />
    <!-- Add mygwt support -->
    <inherits name="net.mygwt.ui.MyGWT" />
    <!-- Add hibernate4gwt support -->
    <inherits name="net.sf.hibernate4gwt.Hibernate4Gwt" />
    <inherits name="net.sf.hibernate4gwt.SqlDates"/>
    <!-- Add gwt-log support -->
    <inherits name="com.allen_sauer.gwt.log.gwt-log" />

    <!-- Add ftr-gwt-library-date -->
    <inherits name='org.cobogw.gwt.user.User' />
    <inherits name="eu.future.earth.gwt.FtrGwtLibrary" />

    <!-- GWT locale -->
    <extend-property name="locale" values="de_DE" />
    <extend-property name="locale" values="en_UK" />
    <extend-property name="locale" values="fr_FR" />
    <extend-property name="locale" values="hr_HR" />
    <extend-property name="locale" values="hu_HU" />
    <extend-property name="locale" values="it_IT" />
    <extend-property name="locale" values="pt_PT" />
    <extend-property name="locale" values="pl_PL" />
    <extend-property name="locale" values="nl_NL" />

    <!-- Logging -->
    <extend-property name="log_level" values="DEBUG,INFO,WARN,FATAL,EROR,OFF" />
    <set-property name="log_level" value="INFO" />

    <!-- Turn off "DivLogger" -->
    <set-property name="log_DivLogger" value="DISABLED" />

    <!-- Specify the app entry point class. -->
    <entry-point class="com.aaa.bbb.ccc.XXXEntryPoint" />

</module>

The main idea is to reduce permutations.

How to speed up the GWT compiler ? (Part II).

How to speed up the GWT compiler ? (Part III).

French version

Coming soon.