GWT Open Source Project

Related tags

Web Frameworks gwt
Overview

GWT

nightly gitter irc

GWT is the official open source project for GWT releases 2.5 and onwards.

In this document you have some quick instructions to build the SDK from source code and to run its tests.

For a more detailed documentation visit our web site. If you are interested in contributing with the project, please read the Making GWT better section.

Building the GWT SDK:

  • In order to build GWT, java and ant are required in your system.

  • Optional: if you want to compile elemental you need python and g++ installed.

  • You need the GWT tools repository checked out and up-to-date. By default it is expected to be found at ../tools. You can override the default location using the GWT_TOOLS environment variable or passing -Dgwt.tools= argument to ant.

  • To create the SDK distribution files run:

    $ ant clean elemental dist-dev

    or if you don't have python and g++ just run

    $ ant clean dist-dev

    Then you will get all .jar files in the folder build/lib and the redistributable file will be: build/dist/gwt-0.0.0.zip

    if you want to specify a different version number run:

    $ ant clean elemental dist-dev -Dgwt.version=x.x.x

  • To compile everything including examples you have to run

    $ ant clean elemental dist

How to verify GWT code conventions:

  • In GWT we have some conventions so as all code written by contributors look similar being easier to review.

  • After you make any modification, run this command to compile everything including tests, to check APIs, and to verify code style. It shouldn't take longer than 3-4 minutes.

    `$ ant compile.tests apicheck checkstyle

How to run GWT tests

  • Previously to run any test you have to set some environment variables to guarantee that they are run in the same conditions for all developers.

    In a Unix like platform you can use the export command:

    $ export TZ=America/Los_Angeles ANT_OPTS=-Dfile.encoding=UTF-8

    But in Windows™ you have to set the time-zone in your control panel, and the environment variables using the command set.

  • Finally you can run all test suites with the following command, but be prepared because it could take hours, and probably it would fail because of timeouts, etc.

    $ ant test

  • Thus, you might want to run only certain tests so as you can focus on checking the modifications you are working on.

    GWT build scripts use specific ant tasks and a bunch of system properties listed in the following table to specify which tests to run and how.

    For instance to run the task test in the module user you have to change to the user folder and run ant with the task as argument, adding any other property with the -D flag:

    $ ( cd user && ant test -Dtest.emma.htmlunit.disable=true ; cd .. )

    Module Task Property to skip Description
    dev test test.dev.disable GWT compiler & dev libraries
    codeserver test test.codeserver.disable SuperDevMode server
    user test test.user.disable GWT user API and JRE emulation
    user test.nongwt test.nongwt.disable Run tests that not require GWTTestCase
    user test.dev.htmlunit test.dev.htmlunit.disable Run dev-mode tests with HtmlUnit
    user test.web.htmlunit test.web.htmlunit.disable Run web-mode tests with HtmlUnit
    user test.draft.htmlunit test.draft.htmlunit.disable Run draft compiled HtmlUnit tests
    user test.nometa.htmlunit test.nometa.htmlunit.disable Run -XdisableClassMetadata tests with HtmlUnit
    user test.emma.htmlunit test.emma.htmlunit.disable Run emma tests with HtmlUnit
    user test.coverage.htmlunit test.coverage.htmlunit.disable Run tests for coverage support
    user test.dev.selenium test.dev.selenium.disable Run dev-mode tests using Selenium RC servers
    user test.web.selenium test.web.selenium.disable Run web tests using Selenium RC servers
    user test.draft.selenium test.draft.selenium.disable Run draft compiled tests using Selenium RC servers
    user test.nometa.selenium test.nometa.selenium.disable Run -XdisableClassMetadata tests using Selenium RC servers
    user test.emma.selenium test.emma.selenium.disable Run emma tests with Selenium RC servers
    requestfactory test test.requestfactory.disable Request Factory library
    elemental test test.elemental.disable Elemental library
    elemental test.nongwt test.nongwt.disable Run elemental tests that not require GWTTestCase
    elemental test.dev.htmlunit test.dev.htmlunit.disable Run elemental dev-mode tests with HtmlUnit
    elemental test.web.htmlunit test.web.htmlunit.disable Run elemental web-mode tests with HtmlUnit
    tools test test.tools.disable Some tools used in GWT development

    Additionally you can utilize some variables to filter which test to run in each task:

    Module Task Properties Default
    dev/core test gwt.junit.testcase.dev.core.includes **/com/google/**/*Test.class
                |                                       | gwt.junit.testcase.dev.core.excludes |
    

    user | test | gwt.junit.testcase.includes | **/*Suite.class user | test.nongwt | gwt.nongwt.testcase.includes | **/*JreSuite.class | | gwt.nongwt.testcase.excludes | user | test.web.* test.draft.* test.nometa.* | gwt.junit.testcase.web.includes | **/*Suite.class | | gwt.junit.testcase.web.excludes | **/*JsInteropSuite.class,**/*JreSuite.class,***/OptimizedOnly* user | test.dev.* test.emma.* | gwt.junit.testcase.dev.includes | **/*Suite.class | | gwt.junit.testcase.dev.excludes | **/*JsInteropSuite.class,**/*JreSuite.class,***/OptimizedOnly*

Examples

  • Run all tests in dev

    $ ( cd dev && ant test ; cd .. )

    Note: that the last `cd ..' is only needed in Windows.

  • There is another option to do the same but without changing to the module folder. We have to specify the module as the ant task, and the task as a target argument.

    $ ant dev -Dtarget=test

  • Run all tests in codeserver

    $ ( cd dev/codeserver && ant test )

    or

    $ ant codeserver -Dtarget=test -Dtest.dev.disable=true

    Note: that we disable dev tests because code server depends on dev and we don`t want to run its tests.

  • Run all tests in elemental:

    $ ( cd elemental && ant test.nongwt )

    or

    $ ant elemental -Dtarget=test -Dtest.dev.disable=true -Dtest.user.disable=true

    Note: that we have to disable dev and user tests because elemental depends on both.

  • Run all tests in tools

    $ ant tools -Dtarget=test -Dtest.dev.disable=true -Dtest.user.disable=true

  • Run only the JsniRefTest in dev

    $ ant dev -Dtarget=test \
        -Dgwt.junit.testcase.dev.core.includes="**/JsniRefTest.class"
    
  • Run a couple of tests in dev

    $ ant dev -Dtarget=test \
        -Dgwt.junit.testcase.dev.core.includes="**/JsniRefTest.class,**/JsParserTest.class"
    

    Note: that you have to use regular expressions separated by comma to select the test classes to execute.

  • Run all Jre tests in user, they should take not longer than 3min. We have two ways to run them. Although the second case is more complex it is here to know how disable properties work.

    $ ( cd user && ant test.nongwt )

    or

    $ ant user -Dtarget=test
           -Dtest.dev.disable=true \
           -Dtest.codeserver.disable=true \
           -Dtest.requestfactory.disable=true \
           -Dtest.elemental.disable=true \
           -Dtest.tools.disable=true \
           -Dtest.dev.htmlunit.disable=true \
           -Dtest.web.htmlunit.disable=true \
           -Dtest.coverage.htmlunit.disable=true \
           -Dtest.dev.selenium.disable=true \
           -Dtest.draft.htmlunit.disable=true \
           -Dtest.draft.selenium.disable=true \
           -Dtest.emma.htmlunit.disable=true \
           -Dtest.emma.selenium.disable=true \
           -Dtest.nometa.htmlunit.disable=true \
           -Dtest.nometa.selenium.disable=true \
           -Dtest.web.selenium.disable=true
    

    Note: that we have to set all disable variables but test.nongwt.disable

  • Run certain Jre tests in the user module.

    $ ( cd user && ant test.nongwt -Dgwt.nongwt.testcase.includes="**/I18NJreSuite.class" )

  • Run all GWT tests in user using htmlunit in dev mode.

    $ ( cd user && ant test.dev.htmlunit )

Comments
  • Hosted mode broken on MacOS X Leopard

    Hosted mode broken on MacOS X Leopard

    Originally reported on Google Code with ID 1792

    Found in GWT Release: 1.4
    
    Detailed description:
    
    http://groups.google.com/group/Google-Web-
    Toolkit/browse_thread/thread/44df53c5c7ef6df2
    
    The hosted mode does not work in Leopard.  In my case, the browser pops up for
    a second, but quickly disappears.  There does not appear to be any useful details
    given stdout or stderr when it exits/crashes, nor is there anything useful that shows
    up in Console.app.      In my case, I'm using Netbeans and gwt4nb, but  it also  fails
    when I attempt to run it standalone.
    
    I'm running the latest developer seed:  Mac OS X 10.5 (9A559)  The official release
    is supposed to come out on October 26th, and I suspect it won't behave any better.
    
    Other details available in the aforementioned group thread.
    
    
    Workaround:  None.
    
    
    

    Reported by pohl.longsine on 2007-10-21 22:36:19

    Type-Defect Category-HostedMode Priority-Critical Milestone-1_5-RC 
    opened by dankurka 141
  • GWT Developer Plugin for Chrome on Linux

    GWT Developer Plugin for Chrome on Linux

    Originally reported on Google Code with ID 4325

    "Sorry, there is currently no GWT Developer Plugin for Chrome on Linux"
    
    Found in GWT Release: 
    2.0.0
    
    Encountered on OS / Browser: 
    Ubuntu 9.10 64bit / Google Chrome Beta 4.0.249.30
    
    
    
    Detailed description (please be as specific as possible):
    I work around it using firefox, but I'd rather stick to one browser for 
    development
    
    
    Shortest code snippet which demonstrates issue (please indicate where
    actual result differs from expected result):
    
    
    
    Workaround if you have one:
    
    
    
    Links to relevant GWT Developer Forum posts:
    
    

    Reported by [email protected] on 2009-12-09 19:54:52


    - _Attachment: no-gwt-dev-plugin-chrome-linux.png
    ![no-gwt-dev-plugin-chrome-linux.png](https://storage.googleapis.com/google-code-attachments/google-web-toolkit/issue-4325/comment-0/no-gwt-dev-plugin-chrome-linux.png)_ Type-Enhancement Milestone-Planned Category-DevPlugin 
    opened by dankurka 120
  • Chrome 10.0.612.1 dev breaks GWT DevMode

    Chrome 10.0.612.1 dev breaks GWT DevMode

    Originally reported on Google Code with ID 5778

    Found in GWT Release (e.g. 1.5.3, 1.6 RC):
    
    GWT 2.1.0, 2.1.1
    
    Encountered on OS / Browser (e.g. WinXP, IE6-7, FF3):
    
    Win 7 64bit, Chrome 10.0.612.1 (Build 69289) dev, Eclipse 3.5, Development mode
    
    Detailed description (please be as specific as possible):
    
    Create a new GWT project and run it in Development mode, open the URL in Chrome dev,
    warnings appear in the console:
    
    [WARN] [visapienzadbcreator] JSNI method '@com.google.gwt.user.client.impl.WindowImpl::initWindowCloseHandler()'
    returned a value of type JavaScript object(9) but was declared void; it should not
    have returned a value at all
    [WARN] [visapienzadbcreator] JSNI method '@com.google.gwt.user.client.impl.DOMImplStandard::initEventSystem()'
    returned a value of type JavaScript object(38) but was declared void; it should not
    have returned a value at all
    
    Application stop working.
    
    Shortest code snippet which demonstrates issue (please indicate where
    actual result differs from expected result):
    
    Use the New Web Application Project template.
    
    Workaround if you have one:
    
    Use another browser or Chrome Stable/Beta.
    Problems may be caused by the WebKit update (534.15)
    
    Links to relevant GWT Developer Forum posts:
    
    None
    
    

    Reported by f.rapana on 2010-12-18 17:26:58

    Type-Defect Category-DevPlugin 
    opened by dankurka 101
  • Serialize final fields in GWT-RPC

    Serialize final fields in GWT-RPC

    Originally reported on Google Code with ID 1054

    Found in GWT Release:
    All
    
    Detailed description:
    The current implementation of GWT RPC does not serialize final fields which hinders
    the ability to 
    use explicitly immutable objects.  The only obstacle to solving this problem is the
    server side 
    deserialization code.  The reason is that  the act of changing the value of a final
    field via 
    reflection is not clearly specified and is likely to be a JVM implementation detail.
     For example, 
    the JRE itself uses unsafe methods to actually achieve this.
    
    The solutions range from simply trying the reflective path to see if it works to actually
    doing 
    some form of GWT stream to Java serialized stream conversion and then using Java 
    deserialization logic to handle the rest.  
    
    Workaround if you have one:
    
    
    Links to the relevant GWT Developer Forum posts:
    
    

    Reported by gwt.team.mmendez on 2007-05-17 15:00:05

    Category-RPC Type-Feature ReleaseNote-Major 
    opened by dankurka 83
  • GWT crash (Safari 4.0.4)

    GWT crash (Safari 4.0.4)

    Originally reported on Google Code with ID 4220

    Found in GWT Release: 1.7.1
    
    Encountered on OS / Browser: OS X 10.6.2, Safari 4.0.4
    
    Detailed description:
    When I try to run GWT in hosted mode, then GWT crash. In problem report window I see:
    Exception Type:  EXC_BAD_ACCESS (SIGBUS)
    Exception Codes: KERN_PROTECTION_FAILURE at 0x0000000000000010
    Crashed Thread:  0  Dispatch queue: com.apple.main-thread
    
    Application Specific Information:
    
    Java information:
     Exception type: Bus Error (0xa) at pc=0x93e9577b
    
     Java VM: Java HotSpot(TM) Client VM (14.1-b02-90 mixed mode macosx-x86)
    
    Current thread (0x028c3400):  JavaThread "Thread-0" daemon [_thread_in_native, id=-
    1609489152, stack(0xbf800000,0xc0000000)]
    Stack: [0xbf800000,0xc0000000]
    Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
    j  com.google.gwt.dev.shell.mac.LowLevelSaf.gcUnprotect(II)V+0
    j  com.google.gwt.dev.shell.mac.JsValueSaf$JsCleanupSaf.doCleanup()V+7
    j  com.google.gwt.dev.shell.JsValue.mainThreadCleanup()V+58
    j  
    com.google.gwt.dev.shell.ModuleSpace.invokeNative(Ljava/lang/String;Ljava/lang/Object;[Ljava/l
    ang/Class;[Ljava/lang/Object;)Lcom/google/gwt/dev/shell/JsValue;+0
    j  
    com.google.gwt.dev.shell.ModuleSpace.invokeNativeObject(Ljava/lang/String;Ljava/lang/Object;[
    Ljava/lang/Class;[Ljava/lang/Object;)Ljava/lang/Object;+6
    j  
    com.google.gwt.dev.shell.JavaScriptHost.invokeNativeObject(Ljava/lang/String;Ljava/lang/Object
    ;[Ljava/lang/Class;[Ljava/lang/Object;)Ljava/lang/Object;+7
    
    

    Reported by bartosz.malkowski on 2009-11-12 08:23:56

    Type-Defect Category-HostedMode 
    opened by dankurka 77
  • Unable to load native library.

    Unable to load native library.

    Originally reported on Google Code with ID 6887

    Hi, after GWT upgrade i get this error:
    
    GWT Designer cannot load the native library 'gwt-ll' used for rendering the GWT UI.
    This may be caused by corrupted installation or unsupported OS.
    Please try to re-install the product.
    
    Running on Ubuntu 11.04 64 bit, Eclipse Indigo Service Release 1.
    
    Someone know how to fix this?
    

    Reported by pawel.konczalski on 2011-10-14 08:34:04


    - _Attachment: [last-log-message.txt](https://storage.googleapis.com/google-code-attachments/google-web-toolkit/issue-6887/comment-0/last-log-message.txt)_ - _Attachment: [environment.txt](https://storage.googleapis.com/google-code-attachments/google-web-toolkit/issue-6887/comment-0/environment.txt)_
    opened by dankurka 70
  • GWT hosted web browser does not work in 64-bit Linux

    GWT hosted web browser does not work in 64-bit Linux

    Originally reported on Google Code with ID 134

    Detailed description:
    The GWT hosted web browser ships with a 32-bit version of the SWT bindings,
    so the browser does not work in 64-bit Linux.
    
    Workarounds:
    Some tips for getting the 32-bit version to work:
    
    Use a 32-bit JDK with 32 bit binary compatability enabled.
    
    Set the environment variable LD_LIBRARY_PATH to the mozilla-1.7.12
    directory in your GWT distribuiton before starting the GWT shell.
    
    
    Links to the relevant GWT Developer Forum posts:
    http://groups.google.com/group/Google-Web-Toolkit/browse_thread/thread/5cd0573159a8f182
    

    Reported by btaylor on 2006-09-27 08:01:18

    Type-Defect Priority-Medium 
    opened by dankurka 70
  • GWT hosted web browser does not work in 64-bit Linux

    GWT hosted web browser does not work in 64-bit Linux

    Originally reported on Google Code with ID 135

    Detailed description:
    The GWT hosted web browser ships with a 32-bit version of the SWT bindings,
    so the browser does not work in 64-bit Linux.
    
    Workarounds:
    Some tips for getting the 32-bit version to work:
    
    Use a 32-bit JDK with 32 bit binary compatability enabled.
    
    Set the environment variable LD_LIBRARY_PATH to the mozilla-1.7.12
    directory in your GWT distribuiton before starting the GWT shell.
    
    
    Links to the relevant GWT Developer Forum posts:
    http://groups.google.com/group/Google-Web-Toolkit/browse_thread/thread/5cd0573159a8f182
    

    Reported by btaylor on 2006-09-27 08:01:31

    Priority-Low Type-Enhancement Category-HostedMode 
    opened by dankurka 70
  • Support Class.getSimpleName()

    Support Class.getSimpleName()

    Originally reported on Google Code with ID 3404

    Found in GWT Release:
    
    Detailed description:
    
    Class.getName() is currently supported by the GWT compiler, but not
    Class.getSimpleName().  The latter is useful for e.g. implementing toString
    methods.
    
    I have attached a patch which adds support for this method.
    
    Workaround if you have one:
    
    Currently my team is "manually" stripping the package part from the result
    of Class.getName(), which works but is wasteful and annoying.
    
    Links to the relevant GWT Developer Forum posts:
    
    

    Reported by cdberry on 2009-02-26 17:35:44


    - _Attachment: [classDotGetSimpleName.diff.txt](https://storage.googleapis.com/google-code-attachments/google-web-toolkit/issue-3404/comment-0/classDotGetSimpleName.diff.txt)_ Category-Compiler Type-Feature 
    opened by dankurka 68
  • Hosted mode JSP compilation appears to not use java 1.5 compatibility

    Hosted mode JSP compilation appears to not use java 1.5 compatibility

    Originally reported on Google Code with ID 3557

    (If this is your first time submitting an issue report to the GWT Issue
    Tracker, please see the sample issue report linked below for an example of
    a well reported issue)
    Sample issue report:  http://code.google.com/p/google-web-
    toolkit/wiki/IssueReportSample
    
    
    Found in GWT Release (e.g. 1.5.3, 1.6 RC):
    1.6.4
    
    
    Encountered on OS / Browser (e.g. WinXP, IE6-7, FF3):
    Hosted Mode
    
    
    Detailed description (please be as specific as possible):
    Web applications that have JSPs that use Java generics don't work in hosted mode. 
    I have 
    attached a JSP that repros the problem.
    
    
    
    Shortest code snippet which demonstrates issue (please indicate where
    actual result differs from expected result):
    
    
    
    Workaround if you have one:
    
    
    
    Links to relevant GWT Developer Forum posts:
    
    
    

    Reported by stxmendez on 2009-04-15 14:48:08


    - _Attachment: [Bar.jsp](https://storage.googleapis.com/google-code-attachments/google-web-toolkit/issue-3557/comment-0/Bar.jsp)_ Type-Defect Priority-High 
    opened by dankurka 67
  • RFE: Support Java 5 -- PLEASE DO NOT ADD ADDITIONAL COMMENTS

    RFE: Support Java 5 -- PLEASE DO NOT ADD ADDITIONAL COMMENTS

    Originally reported on Google Code with ID 168

    Detailed description:
    Add support to the GWT compiler so it understands Generics from Java 5. It would also
    be nice if 
    generics could do away with the @gwt.typeArgs hack.
    

    Reported by sandymac on 2006-09-29 07:02:43

    Type-Enhancement Category-Compiler Priority-Critical Milestone-1_5_RC Restrict-AddIssueComment-Commit 
    opened by dankurka 66
  • Fixes #9584: making custom field serializers for EnumMap and LinkedHashMap ready for Java 17

    Fixes #9584: making custom field serializers for EnumMap and LinkedHashMap ready for Java 17

    Here is a fix proposal for the EnumMap custom field serializer and the LinkedHashMap custom field serializer. Both are using reflection to read private fields from java.* classes, and while LinkedHashMap can work around this, EnumMap has a problem when the map to be serialized is empty.

    This PR uses a java.io.ObjectInputStream specialization and a subclass of EnumMap to gain access to the private fields of the EnumMap instance to be serialized which assumes the names of the fields and the serialVersionUID of EnumMap remain unchanged (which is also what the previous code did when using reflection for a private field).

    The full test suite found on issues. https://github.com/axeluhl/gwt/actions/runs/3759098686

    Fixes #9584

    opened by axeluhl 0
  • protobuf-java CVE-2022-3171 on gwt-servlet

    protobuf-java CVE-2022-3171 on gwt-servlet

    **GWT version:2.8.2 and 2.10.0

    Description

    Our dependancy check report is reporting CVE for our project using gwt, because gwt-servlet depends on protobuf-java 2.5.0.

    I found similar issue https://github.com/gwtproject/gwt/issues/9749 Is it safe to assume that gwt-servlet does not use google protobuf java.

    I saw an another issue https://github.com/gwtproject/gwt/issues/9752I where plan is remove the proto-buf pom.xml from META-INF folder. Is it safe for us if we remove this pom.xml and recompile gwt so our dependancy check report does not report this issue.

    opened by archanakeshireddy 1
  • GWT-DEV (JDK 1.8 IBM): ClassNotFoundException: com.google.gwt.dev.jjs.ast.JPrimitiveType

    GWT-DEV (JDK 1.8 IBM): ClassNotFoundException: com.google.gwt.dev.jjs.ast.JPrimitiveType

    GWT version: 2.10.0 Browser (with version): Any Operating System: Windows JDK version: openjdk version 1.8.0_352 (or smth close)


    Description

    Compilation of GWT module is failed when running under the specific JDK.

    Steps to reproduce
    1. Install following JDK 1.8 (latest at the moment):

    openjdk version "1.8.0_352" IBM Semeru Runtime Open Edition (build 1.8.0_352-b08) Eclipse OpenJ9 VM (build openj9-0.35.0, JRE 1.8.0 Windows 10 amd64-64-Bit Compressed References 20221101_526 (JIT enabled, AOT enabled) OpenJ9 - e04a7f6c1 OMR - 85a21674f JCL - b213334935 based on jdk8u352-b08)

    1. Create any simple GWT module (client/server RPC) and try to compile it.

    2. Check the GWT compiler stack trace:

    [22/12/16 19:19:21.825 MSK] main Server I org.eclipse.jetty.server.Server doStart Started @85714ms Dev Mode initialized. Startup URL: http://127.0.0.1:8888/accounting.jsp GET /recompile/accounting Job com.de.accounting.AccountingDev_1_0 starting job: com.de.accounting.AccountingDev_1_0 Compiling module com.de.accounting.AccountingDev Ignored 8 units with compilation errors in first pass. Compile with -strict or with -logLevel set to TRACE or DEBUG to see all errors. [ERROR] Unexpected internal compiler error java.lang.RuntimeException: Unexpected error deserializing AST for 'java.lang.Throwable' at com.google.gwt.dev.javac.CompilationUnit.getTypes(CompilationUnit.java:373) at com.google.gwt.dev.jjs.impl.UnifyAst.assimilateSourceUnit(UnifyAst.java:1022) at com.google.gwt.dev.jjs.impl.UnifyAst.internalFindType(UnifyAst.java:1483) at com.google.gwt.dev.jjs.impl.UnifyAst.translate(UnifyAst.java:1528) at com.google.gwt.dev.jjs.impl.UnifyAst.resolveType(UnifyAst.java:1440) at com.google.gwt.dev.jjs.impl.UnifyAst.assimilateSourceUnit(UnifyAst.java:1033) at com.google.gwt.dev.jjs.impl.UnifyAst.internalFindType(UnifyAst.java:1483) at com.google.gwt.dev.jjs.impl.UnifyAst.translate(UnifyAst.java:1528) at com.google.gwt.dev.jjs.impl.UnifyAst.resolveType(UnifyAst.java:1440) at com.google.gwt.dev.jjs.impl.UnifyAst.assimilateSourceUnit(UnifyAst.java:1033) at com.google.gwt.dev.jjs.impl.UnifyAst.internalFindType(UnifyAst.java:1483) at com.google.gwt.dev.jjs.impl.UnifyAst.translate(UnifyAst.java:1528) at com.google.gwt.dev.jjs.impl.UnifyAst.resolveType(UnifyAst.java:1440) at com.google.gwt.dev.jjs.impl.UnifyAst.assimilateSourceUnit(UnifyAst.java:1033) at com.google.gwt.dev.jjs.impl.UnifyAst.internalFindType(UnifyAst.java:1483) at com.google.gwt.dev.jjs.impl.UnifyAst.findType(UnifyAst.java:1466) at com.google.gwt.dev.jjs.JavaToJavaScriptCompiler.synthesizeEntryMethodHolderInit(JavaToJavaScriptCompiler.java:1347) at com.google.gwt.dev.jjs.JavaToJavaScriptCompiler.unifyJavaAst(JavaToJavaScriptCompiler.java:1402) at com.google.gwt.dev.jjs.JavaToJavaScriptCompiler.constructJavaAst(JavaToJavaScriptCompiler.java:1222) at com.google.gwt.dev.jjs.JavaToJavaScriptCompiler.precompile(JavaToJavaScriptCompiler.java:1140) at com.google.gwt.dev.jjs.JavaToJavaScriptCompiler.precompile(JavaToJavaScriptCompiler.java:255) at com.google.gwt.dev.Precompile.precompile(Precompile.java:243) at com.google.gwt.dev.Precompile.precompile(Precompile.java:190) at com.google.gwt.dev.Precompile.precompile(Precompile.java:131) at com.google.gwt.dev.Compiler.compile(Compiler.java:192) at com.google.gwt.dev.codeserver.Recompiler.doCompile(Recompiler.java:362) at com.google.gwt.dev.codeserver.Recompiler.compile(Recompiler.java:175) at com.google.gwt.dev.codeserver.Recompiler.recompile(Recompiler.java:134) at com.google.gwt.dev.codeserver.Outbox.recompile(Outbox.java:135) at com.google.gwt.dev.codeserver.JobRunner.recompile(JobRunner.java:113) at com.google.gwt.dev.codeserver.JobRunner.access$000(JobRunner.java:37) at com.google.gwt.dev.codeserver.JobRunner$2.run(JobRunner.java:90) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:826) Caused by: java.lang.ClassNotFoundException: com.google.gwt.dev.jjs.ast.JPrimitiveType at java.lang.Class.forNameImpl(Native Method) at java.lang.Class.forName(Class.java:411) at java.io.ClassByNameCache$FutureValue.get(ClassByNameCache.java:189) at java.io.ClassByNameCache.get(ClassByNameCache.java:160) at java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:877) at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:2108) at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1972) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2306) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1789) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2558) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2480) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2333) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1789) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:586) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:496) at java.util.ArrayList.readObject(ArrayList.java:799) at sun.reflect.GeneratedMethodAccessor73.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1184) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2447) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2333) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1789) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:586) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:496) at com.google.gwt.dev.jjs.ast.JDeclaredType.readMembers(JDeclaredType.java:550) at com.google.gwt.dev.jjs.ast.JProgram.deserializeTypes(JProgram.java:237) at com.google.gwt.dev.javac.CompilationUnit.getTypes(CompilationUnit.java:369) ... 36 more [ERROR] Compiler returned false [WARN] recompile failed [WARN] continuing to serve previous version

    Known workarounds

    Disable caching for java.io.ObjectInputStream by running GWT compiler with "-Dcom.ibm.enableClassCaching=false"

    Links to further discussions
    opened by insidex 2
  • TimeZoneConstants.properties is having wrong transitions for

    TimeZoneConstants.properties is having wrong transitions for "Africa/Casablanca"

    GWT version: 2.6.2 and higher Browser (with version):All Operating System:All


    Description

    TimeZoneConstants.properties is having wrong transitions for "Africa/Casablanca" I checked for recent years as below

    https://github.com/gwtproject/gwt/blob/2.9.0/user/src/com/google/gwt/i18n/client/constants/TimeZoneConstants.properties https://github.com/gwtproject/gwt/blob/2.8.2/user/src/com/google/gwt/i18n/client/constants/TimeZoneConstants.properties https://github.com/gwtproject/gwt/blob/2.6.0/user/src/com/google/gwt/i18n/client/constants/TimeZoneConstants.properties

    africaCasablanca = {"id": "Africa/Casablanca", "transitions": [39240, 60, 40895, 0, 55488, 60, 57695, 0, 64248, 60, 67847, 0, 73752, 60, 75287, 0, 336744, 60, 338951, 0, 345504, 60, 347447, 0, 353544, 60, 355895, 0, 361608, 60, 364463, 0, 371018, 60, 372986, 0, 373730, 60, 374714, 0, 379754, 60, 381482, 0, 382202, 60, 383450, 0, 388490, 60, 390002, 0, 390722, 60, 392186, 0, 397226, 60, 398498, 0, 399218, 60, 400922, 0, 405962, 60, 407018, 0, 407738, 60, 409658, 0, 414866, 60, 415514, 0, 416234, 60, 418394, 0, 423602, 60, 424010, 0, 424730, 60, 427298, 0, 432338, 60, 432530, 0, 433250, 60, 436034, 0, 441746, 60, 444770, 0, 450242, 60, 453506, 0, 458762, 60, 462242, 0, 467450, 60, 470978, 0, 476186, 60, 479882, 0, 484922, 60, 488618, 0, 493658, 60, 497354, 0, 502394, 60, 506090, 0, 560, 514826, 0, 520034, 60, 523730, 0, 528770, 60, 532466, 0, 537506, 60, 541202, 0, 546242, 60, 549938, 0, 554978, 60, 558674, 0, 563882, 60, 567410, 0, 572618, 60, 576314, 0, 581354, 60, 585050, 0, 590090, 60, 593786, 0], "names": ["WET", "Western European Standard Time", "WEST", "Western European Summer Time"], "std_offset": 0}

    Wrong

    example : Morocco 8 May 2022 - Daylight Saving Time Started and 27 Mar 2022 - Daylight Saving Time Ended

     System.out.println(new Date(453506 * 1000 * 3600L)); => Sun Sep 26 03:00:00 WEST 2021
      System.out.println(new Date(458762 * 1000 * 3600L)); => Tue May 03 02:00:00 WET 2022
      System.out.println(new Date(462242 * 1000 * 3600L)); => Sun Sep 25 03:00:00 WEST 2022
    

    These are wrong transitions hence return wrong offset

    Steps to reproduce

    import com.google.gwt.i18n.client.TimeZone; import com.google.gwt.i18n.client.TimeZoneInfo; import com.google.gwt.i18n.client.constants.TimeZoneConstants;

      TimeZoneConstants timeZoneConstants = (TimeZoneConstants) GWT.create(TimeZoneConstants.class);
      TimeZone timeZone = TimeZone.createTimeZone(TimeZoneInfo.buildTimeZoneData(timeZoneConstants.africaCasablanca()));
     long offset = timeZone.getOffset(new Date(1664146800000L)) 
    

    //offset is 0

    Known workarounds

    Please help to update these TimeZoneConstants.properties

    Links to further discussions
    opened by ashish-ghub 2
  • Unable to debug GWT in firefox

    Unable to debug GWT in firefox

    • GWT version: 2.10.0, 2.8.1
    • Browser (with version): Firefox 102.5.0.esr
    • Operating System: Windows and Debian

    Description

    It is impossible to debug a GWT Application with Firefox, because Firefox throws lots of Exceptions on any MouseEvent after a breakpoint was hit, and thread was resumed. The Error Messages are: Uncaught Error: java.lang.AssertionError: Negative entryDepth value at exit -1

    Steps to reproduce
    1. Create a minimal GWT App. The Sample App created by the Eclipse Wizard is good.
    2. Load the App in Firefox, and set a breakpoint in the onClick method.
    3. Click the send Button
    4. Resume Execution. Firefox will halt on debugger statements. Resume again...
    5. Move mouse. Exceptions will be in the console.
    6. Click send Button again. nothing will happen.
       @Override
       public void onModuleLoad()
       {
          final Button sendButton = new Button("Send");
          RootPanel.get("sendButtonContainer").add(sendButton);
          sendButton.addClickHandler(new ClickHandler()
          {
             @Override
             public void onClick(ClickEvent event)
             {
                GWT.log("TEST");
             }
          });
       }
    
    Known workarounds

    None. Edge and Chromium don't have the Problem.

    opened by keinhaar 13
  • Vertical MenuBar run out of bottom window client

    Vertical MenuBar run out of bottom window client

    GWT version:2.9.0 Browser (with version):Chrome 100 Operating System:Window11


    Description

    when popup vertical menubar has sub popup menubar ,the sub popup menubar will run out of the window client.

    opened by mapway 0
Releases(2.10.0)
  • 2.10.0(Jun 9, 2022)

    Highlights

    • Updated to HtmlUnit 2.55.0 and Jetty 9.4.44. With this newer HtmlUnit build comes support for Promise in unit tests, and the browser strings that can be specified when running tests are "FF", "Chrome", "IE" (for IE11), "Edge", and "Safari".

    • Tested support for running on Java 17, dropped remaining support for running on Java 7.

    • Maven groupId is formally changed to org.gwtproject, projects should take care to ensure they are using either the old com.google.gwt:gwt BOM or the new org.gwtproject:gwt BOM to sure that Maven or Gradle correctly handle this change. This will be the last published version using the com.google.gwt groupId.

    • Dropped support for IE 8, 9, and 10.

    Bug fixes

    • Correct Long.hashCode semantics
    • Support CLASSPATH environment variable when creating child processes, fixing a bug where Windows could fail with a long list of arguments.
    • Use Function.name instead of displayName to support visible method names in Chrome 93+.
    • Allow stack traces to be available in Chrome when loading scripts from a remote origin.

    JRE Emulation

    • Added OutputStreamWriter emulation.
    • Support StringReader mark() and reset() methods.
    • Added StrictMath emulation.
    • Added BufferedWriter emulation.
    • Added incomplete PrintStream emulation.
    • Add Charset.defaultCharset() emulation.
    • Improve BigInteger emulated performance.
    • System.nanoTime() emulation with performance.now().
    • Added Optional.isEmpty emulation.
    • JRE Emulation improvements/simplifications to facilitate J2CL's WASM support. Note that these do not always offer specific improvements to GWT itself, but helps to keep the codebases consistent.

    Miscellaneous

    • Add support to compile GWT itself in Java 9+.
    • Improve compiled code size for applications that never use streams, by avoiding referencing streams from Throwable.

    For more detail, see the commit log.

    Source code(tar.gz)
    Source code(zip)
    gwt-2.10.0.zip(87.09 MB)
Telegram for Android source

Telegram messenger for Android Telegram is a messaging app with a focus on speed and security. It’s superfast, simple and free. This repo contains the

DrKLO 21.3k Jan 4, 2023
RESTEasy is a JBoss project that provides various frameworks to help you build RESTful Web Services and RESTful Java applications

RESTEasy RESTEasy is a JBoss.org project aimed at providing productivity frameworks for developing client and server RESTful applications and services

RESTEasy 1k Dec 23, 2022
An assistance platform made using Spring framework that analyses your code, and helps you either to start a devops project, or to turn an existing project into a devops project using open source software (Git, Docker, Jenkins..)

DevOpsify Description An assistance platform made using Spring framework that analyses your code, and helps you either to start a devops project, or t

obaydah bouifadene 14 Nov 8, 2022
This open source project allows you to easily integrate Camunda's External Task Clients into Micronaut projects: simply add a dependency in your Micronaut project

micronaut-camunda-external-client This open source project allows you to easily integrate Camunda 's External Task Clients into Micronaut projects. Mi

Novatec Consulting GmbH 19 Dec 18, 2022
Sourcetrail - free and open-source interactive source explorer

Sourcetrail Sourcetrail is a free and open-source cross-platform source explorer that helps you get productive on unfamiliar source code. Windows: Lin

Coati Software 13.2k Jan 5, 2023
Source code of APK-Explorer-Editor (AEE), an open-source tool to explore the contents of an installed APK!

APK Explorer & Editor (AEE) APK Explorer & Editor, an open-source tool to explore the contents of an installed APK, is strictly made with an aim to in

APK Explorer & Editor 271 Jan 8, 2023
HornetQ is an open source project to build a multi-protocol, embeddable, very high performance, clustered, asynchronous messaging system.

HornetQ If you need information about the HornetQ project please go to http://community.jboss.org/wiki/HornetQ http://www.jboss.org/hornetq/ This file

HornetQ 245 Dec 3, 2022
Unofficial Clubhouse web app client. For personal use only. It's a personal open-source project and not affiliated with any company.

Purpose of this web app That's a personal project and not affiliated with any company. This is the web client app to make your Club House experience b

Sergei Ovchinnikov 45 Nov 15, 2022
log4j-scanner is a project derived from other members of the open-source community by CISA's Rapid Action Force team to help organizations identify potentially vulnerable web services affected by the log4j vulnerabilities.

Log4j Scanner This repository provides a scanning solution for the log4j Remote Code Execution vulnerabilities (CVE-2021-44228 & CVE-2021-45046). The

Cybersecurity and Infrastructure Security Agency 1.3k Dec 22, 2022
BioJava is an open-source project dedicated to providing a Java framework for processing biological data.

Welcome to BioJava is an open-source project dedicated to providing a Java framework for processing biological data. It provides analytical and statis

BioJava 513 Dec 31, 2022
An open-source component of TabLight project "Base-API"

DataAddons is a library (or framework?) created for Minecraft providing comfortable abstractions making additions over already existing data, generally, it is anti-pattern ans YOU SHOULDN'T USE IT in normal programms.

XXR 3 Mar 8, 2022
The open source CyborgFlow project is an out-of-the-box (OOTB) solution to perform load test on your online system.

CyborgFlow CyborgFlow provides an out-of-the-box (OOTB) solution to perform load test on your online system, powered by Apache APISIX, Apache SkyWalki

SphereEx 70 Nov 30, 2022
Infinispan is an open source data grid platform and highly scalable NoSQL cloud data store.

The Infinispan project Infinispan is an open source (under the Apache License, v2.0) data grid platform. For more information on Infinispan, including

Infinispan 1k Dec 31, 2022
An open-source Java library for Constraint Programming

Documentation, Support and Issues Contributing Download and installation Choco-solver is an open-source Java library for Constraint Programming. Curre

null 607 Jan 3, 2023
Open Source In-Memory Data Grid

Hazelcast Hazelcast is an open-source distributed in-memory data store and computation platform. It provides a wide variety of distributed data struct

hazelcast 5.2k Dec 31, 2022
:fire: Seata is an easy-to-use, high-performance, open source distributed transaction solution.

Seata: Simple Extensible Autonomous Transaction Architecture What is Seata? A distributed transaction solution with high performance and ease of use f

Seata 23.2k Jan 2, 2023
Open source software platform for trading venues

Parity Parity is an open source software platform for trading venues. It can be used to run a financial marketplace, develop algorithmic trading agent

Parity 500 Dec 8, 2022
Sonatype Nexus Repository Open Source Codebase

Builds use Apache Maven and require Java 8. Apache Maven wrapper scripts are included in the source tree.

Sonatype 1.3k Jan 5, 2023
Open source routing engine for OpenStreetMap. Use it as Java library or server.

GraphHopper Routing Engine GraphHopper is a fast and memory efficient Java routing engine, released under Apache License 2.0. By default it uses OpenS

GraphHopper 4k Jan 3, 2023