Saturday, October 3, 2026

Re: Temp gwt directory

Thanks Thomas, That all makes sense. Cheers.

On Sunday, 27 September 2026 at 4:45:52 am UTC+10 Thomas Broyer wrote:
You can relocate the persistent unit cache dir with the gwt.persistentunitcachedir system property, so with the maven plugin:
<systemProperties>
  <gwt.persistentunitcachedir>${project.build.directory}/gwt/unitCache/</gwt.persistentunitcachedir>
</systemProperties>

But note that the default location is as a sibling of the output directory for the GWT Compiler (https://github.com/gwtproject/gwt/blob/9940b0200d57ff83ff0a1c43bac4674e5c56b5d1/dev/core/src/com/google/gwt/dev/Compiler.java#L80), and only for the CodeServer is it inside the temporary directory (https://github.com/gwtproject/gwt/blob/main/dev/core/src/com/google/gwt/dev/util/DiskCachingUtil.java).
This might affect how/where you want to configure this, to possibly only change the gwt:codeserver behavior without changing the gwt:compile's one.

…and you can disable the persistent unit cache with gwt.persistentunitcache=false
On Saturday, September 26, 2026 at 2:59:52 AM UTC+2 ma...@craig-mitchell.com wrote:
If I set the tmp directory to just  <java.io.tmpdir>${project.build.directory}</java.io.tmpdir>  then I don't need to get Maven to create it.  The target direcory is spammed with a mass of GWT files, but at least it works.

On Saturday, 26 September 2026 at 10:44:32 am UTC+10 Craig Mitchell wrote:
This bug was doing my head in:  https://github.com/gwtproject/gwt/issues/10329 (because I'm moving widgets in and out of GWT, and when I switch between my git branches, I hit it).

However, I figured out that GWT writes to the windows temp dir %temp%/gwt-cache-xxx/gwt-unitCache and if I delete that, the problem goes away.

I thought it was the tbroyer gwt-maven-plugin creating these temp files, but it wasn't, it's some internal GWT thing.

I managed to relocate the files in the tbroyer plugin configuration with:
<systemProperties>
  <java.io.tmpdir>${project.build.directory}/gwt-temp</java.io.tmpdir>
</systemProperties>

Now a simple mvn clean gets rid of them.  However, GWT won't create this directory automatically, so when you try to run after a clean, you get:

[WARNING] java.lang.ExceptionInInitializerError
[WARNING] at com.google.gwt.dev.javac.CompiledClass.<clinit>(CompiledClass.java:42)
[WARNING] at com.google.gwt.dev.javac.JdtCompiler$CompilerImpl.createCompiledClass(JdtCompiler.java:352)
[WARNING] at com.google.gwt.dev.javac.JdtCompiler$CompilerImpl.process(JdtCompiler.java:315)
[WARNING] at org.eclipse.jdt.internal.compiler.Compiler.processCompiledUnits(Compiler.java:575)
[WARNING] at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:475)
[WARNING] at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:426)
[WARNING] at com.google.gwt.dev.javac.JdtCompiler.doCompile(JdtCompiler.java:1059)
[WARNING] at com.google.gwt.dev.javac.CompilationStateBuilder$CompileMoreLater.compile(CompilationStateBuilder.java:314)
[WARNING] at com.google.gwt.dev.javac.CompilationStateBuilder.doBuildFrom(CompilationStateBuilder.java:519)
[WARNING] at com.google.gwt.dev.javac.CompilationStateBuilder.buildFrom(CompilationStateBuilder.java:453)
[WARNING] at com.google.gwt.dev.cfg.ModuleDef.getCompilationState(ModuleDef.java:425)
[WARNING] at com.google.gwt.dev.codeserver.Recompiler.initWithoutPrecompile(Recompiler.java:221)
[WARNING] at com.google.gwt.dev.codeserver.Outbox.maybePrecompile(Outbox.java:89)
[WARNING] at com.google.gwt.dev.codeserver.Outbox.<init>(Outbox.java:61)
[WARNING] at com.google.gwt.dev.codeserver.CodeServer.makeOutboxTable(CodeServer.java:194)
[WARNING] at com.google.gwt.dev.codeserver.CodeServer.start(CodeServer.java:153)
[WARNING] at com.google.gwt.dev.codeserver.CodeServer.main(CodeServer.java:106)
[WARNING] at com.google.gwt.dev.codeserver.CodeServer.main(CodeServer.java:57)
[WARNING] Caused by: java.lang.RuntimeException: Unable to initialize byte cache
[WARNING] at com.google.gwt.dev.util.DiskCache.<init>(DiskCache.java:78)
[WARNING] at com.google.gwt.dev.util.DiskCache.<clinit>(DiskCache.java:65)
[WARNING] ... 18 more
[WARNING] Caused by: java.io.IOException: The system cannot find the path specified
[WARNING] at java.base/java.io.WinNTFileSystem.createFileExclusively0(Native Method)
[WARNING] at java.base/java.io.WinNTFileSystem.createFileExclusively(WinNTFileSystem.java:542)
[WARNING] at java.base/java.io.File.createTempFile(File.java:1887)
[WARNING] at java.base/java.io.File.createTempFile(File.java:1928)
[WARNING] at com.google.gwt.dev.util.DiskCache.<init>(DiskCache.java:72)
[WARNING] ... 19 more

This can be fixed by getting maven to create the directory:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-antrun-plugin</artifactId>
  <version>3.2.0</version>

  <executions>
    <execution>
      <id>create-gwt-temp</id>
      <phase>initialize</phase>
      <configuration>
        <target>
          <mkdir dir="${project.build.directory}/gwt-temp"/>
        </target>
      </configuration>
      <goals>
        <goal>run</goal>
      </goals>
    </execution>
  </executions>
</plugin>

I feel like there is a better way to manage the GWT temp directory.  Does anyone have a better solution?  Thanks.

--
You received this message because you are subscribed to the Google Groups "GWT Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/google-web-toolkit/5cff5285-eaa9-4777-b1ba-19f60147b505n%40googlegroups.com.

Saturday, September 26, 2026

Re: Temp gwt directory

You can relocate the persistent unit cache dir with the gwt.persistentunitcachedir system property, so with the maven plugin:
<systemProperties>
  <gwt.persistentunitcachedir>${project.build.directory}/gwt/unitCache/</gwt.persistentunitcachedir>
</systemProperties>
https://github.com/gwtproject/gwt/blob/9940b0200d57ff83ff0a1c43bac4674e5c56b5d1/dev/core/src/com/google/gwt/dev/javac/UnitCacheSingleton.java#L90

But note that the default location is as a sibling of the output directory for the GWT Compiler (https://github.com/gwtproject/gwt/blob/9940b0200d57ff83ff0a1c43bac4674e5c56b5d1/dev/core/src/com/google/gwt/dev/Compiler.java#L80), and only for the CodeServer is it inside the temporary directory (https://github.com/gwtproject/gwt/blob/main/dev/core/src/com/google/gwt/dev/util/DiskCachingUtil.java).
This might affect how/where you want to configure this, to possibly only change the gwt:codeserver behavior without changing the gwt:compile's one.

…and you can disable the persistent unit cache with gwt.persistentunitcache=false
On Saturday, September 26, 2026 at 2:59:52 AM UTC+2 ma...@craig-mitchell.com wrote:
If I set the tmp directory to just  <java.io.tmpdir>${project.build.directory}</java.io.tmpdir>  then I don't need to get Maven to create it.  The target direcory is spammed with a mass of GWT files, but at least it works.

On Saturday, 26 September 2026 at 10:44:32 am UTC+10 Craig Mitchell wrote:
This bug was doing my head in:  https://github.com/gwtproject/gwt/issues/10329 (because I'm moving widgets in and out of GWT, and when I switch between my git branches, I hit it).

However, I figured out that GWT writes to the windows temp dir %temp%/gwt-cache-xxx/gwt-unitCache and if I delete that, the problem goes away.

I thought it was the tbroyer gwt-maven-plugin creating these temp files, but it wasn't, it's some internal GWT thing.

I managed to relocate the files in the tbroyer plugin configuration with:
<systemProperties>
  <java.io.tmpdir>${project.build.directory}/gwt-temp</java.io.tmpdir>
</systemProperties>

Now a simple mvn clean gets rid of them.  However, GWT won't create this directory automatically, so when you try to run after a clean, you get:

[WARNING] java.lang.ExceptionInInitializerError
[WARNING] at com.google.gwt.dev.javac.CompiledClass.<clinit>(CompiledClass.java:42)
[WARNING] at com.google.gwt.dev.javac.JdtCompiler$CompilerImpl.createCompiledClass(JdtCompiler.java:352)
[WARNING] at com.google.gwt.dev.javac.JdtCompiler$CompilerImpl.process(JdtCompiler.java:315)
[WARNING] at org.eclipse.jdt.internal.compiler.Compiler.processCompiledUnits(Compiler.java:575)
[WARNING] at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:475)
[WARNING] at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:426)
[WARNING] at com.google.gwt.dev.javac.JdtCompiler.doCompile(JdtCompiler.java:1059)
[WARNING] at com.google.gwt.dev.javac.CompilationStateBuilder$CompileMoreLater.compile(CompilationStateBuilder.java:314)
[WARNING] at com.google.gwt.dev.javac.CompilationStateBuilder.doBuildFrom(CompilationStateBuilder.java:519)
[WARNING] at com.google.gwt.dev.javac.CompilationStateBuilder.buildFrom(CompilationStateBuilder.java:453)
[WARNING] at com.google.gwt.dev.cfg.ModuleDef.getCompilationState(ModuleDef.java:425)
[WARNING] at com.google.gwt.dev.codeserver.Recompiler.initWithoutPrecompile(Recompiler.java:221)
[WARNING] at com.google.gwt.dev.codeserver.Outbox.maybePrecompile(Outbox.java:89)
[WARNING] at com.google.gwt.dev.codeserver.Outbox.<init>(Outbox.java:61)
[WARNING] at com.google.gwt.dev.codeserver.CodeServer.makeOutboxTable(CodeServer.java:194)
[WARNING] at com.google.gwt.dev.codeserver.CodeServer.start(CodeServer.java:153)
[WARNING] at com.google.gwt.dev.codeserver.CodeServer.main(CodeServer.java:106)
[WARNING] at com.google.gwt.dev.codeserver.CodeServer.main(CodeServer.java:57)
[WARNING] Caused by: java.lang.RuntimeException: Unable to initialize byte cache
[WARNING] at com.google.gwt.dev.util.DiskCache.<init>(DiskCache.java:78)
[WARNING] at com.google.gwt.dev.util.DiskCache.<clinit>(DiskCache.java:65)
[WARNING] ... 18 more
[WARNING] Caused by: java.io.IOException: The system cannot find the path specified
[WARNING] at java.base/java.io.WinNTFileSystem.createFileExclusively0(Native Method)
[WARNING] at java.base/java.io.WinNTFileSystem.createFileExclusively(WinNTFileSystem.java:542)
[WARNING] at java.base/java.io.File.createTempFile(File.java:1887)
[WARNING] at java.base/java.io.File.createTempFile(File.java:1928)
[WARNING] at com.google.gwt.dev.util.DiskCache.<init>(DiskCache.java:72)
[WARNING] ... 19 more

This can be fixed by getting maven to create the directory:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-antrun-plugin</artifactId>
  <version>3.2.0</version>

  <executions>
    <execution>
      <id>create-gwt-temp</id>
      <phase>initialize</phase>
      <configuration>
        <target>
          <mkdir dir="${project.build.directory}/gwt-temp"/>
        </target>
      </configuration>
      <goals>
        <goal>run</goal>
      </goals>
    </execution>
  </executions>
</plugin>

I feel like there is a better way to manage the GWT temp directory.  Does anyone have a better solution?  Thanks.

--
You received this message because you are subscribed to the Google Groups "GWT Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/google-web-toolkit/97fb0dbb-510f-4028-b360-8b9ddb3617b0n%40googlegroups.com.

Friday, September 25, 2026

Re: Temp gwt directory

If I set the tmp directory to just  <java.io.tmpdir>${project.build.directory}</java.io.tmpdir>  then I don't need to get Maven to create it.  The target direcory is spammed with a mass of GWT files, but at least it works.

On Saturday, 26 September 2026 at 10:44:32 am UTC+10 Craig Mitchell wrote:
This bug was doing my head in:  https://github.com/gwtproject/gwt/issues/10329 (because I'm moving widgets in and out of GWT, and when I switch between my git branches, I hit it).

However, I figured out that GWT writes to the windows temp dir %temp%/gwt-cache-xxx/gwt-unitCache and if I delete that, the problem goes away.

I thought it was the tbroyer gwt-maven-plugin creating these temp files, but it wasn't, it's some internal GWT thing.

I managed to relocate the files in the tbroyer plugin configuration with:
<systemProperties>
  <java.io.tmpdir>${project.build.directory}/gwt-temp</java.io.tmpdir>
</systemProperties>

Now a simple mvn clean gets rid of them.  However, GWT won't create this directory automatically, so when you try to run after a clean, you get:

[WARNING] java.lang.ExceptionInInitializerError
[WARNING] at com.google.gwt.dev.javac.CompiledClass.<clinit>(CompiledClass.java:42)
[WARNING] at com.google.gwt.dev.javac.JdtCompiler$CompilerImpl.createCompiledClass(JdtCompiler.java:352)
[WARNING] at com.google.gwt.dev.javac.JdtCompiler$CompilerImpl.process(JdtCompiler.java:315)
[WARNING] at org.eclipse.jdt.internal.compiler.Compiler.processCompiledUnits(Compiler.java:575)
[WARNING] at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:475)
[WARNING] at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:426)
[WARNING] at com.google.gwt.dev.javac.JdtCompiler.doCompile(JdtCompiler.java:1059)
[WARNING] at com.google.gwt.dev.javac.CompilationStateBuilder$CompileMoreLater.compile(CompilationStateBuilder.java:314)
[WARNING] at com.google.gwt.dev.javac.CompilationStateBuilder.doBuildFrom(CompilationStateBuilder.java:519)
[WARNING] at com.google.gwt.dev.javac.CompilationStateBuilder.buildFrom(CompilationStateBuilder.java:453)
[WARNING] at com.google.gwt.dev.cfg.ModuleDef.getCompilationState(ModuleDef.java:425)
[WARNING] at com.google.gwt.dev.codeserver.Recompiler.initWithoutPrecompile(Recompiler.java:221)
[WARNING] at com.google.gwt.dev.codeserver.Outbox.maybePrecompile(Outbox.java:89)
[WARNING] at com.google.gwt.dev.codeserver.Outbox.<init>(Outbox.java:61)
[WARNING] at com.google.gwt.dev.codeserver.CodeServer.makeOutboxTable(CodeServer.java:194)
[WARNING] at com.google.gwt.dev.codeserver.CodeServer.start(CodeServer.java:153)
[WARNING] at com.google.gwt.dev.codeserver.CodeServer.main(CodeServer.java:106)
[WARNING] at com.google.gwt.dev.codeserver.CodeServer.main(CodeServer.java:57)
[WARNING] Caused by: java.lang.RuntimeException: Unable to initialize byte cache
[WARNING] at com.google.gwt.dev.util.DiskCache.<init>(DiskCache.java:78)
[WARNING] at com.google.gwt.dev.util.DiskCache.<clinit>(DiskCache.java:65)
[WARNING] ... 18 more
[WARNING] Caused by: java.io.IOException: The system cannot find the path specified
[WARNING] at java.base/java.io.WinNTFileSystem.createFileExclusively0(Native Method)
[WARNING] at java.base/java.io.WinNTFileSystem.createFileExclusively(WinNTFileSystem.java:542)
[WARNING] at java.base/java.io.File.createTempFile(File.java:1887)
[WARNING] at java.base/java.io.File.createTempFile(File.java:1928)
[WARNING] at com.google.gwt.dev.util.DiskCache.<init>(DiskCache.java:72)
[WARNING] ... 19 more

This can be fixed by getting maven to create the directory:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-antrun-plugin</artifactId>
  <version>3.2.0</version>

  <executions>
    <execution>
      <id>create-gwt-temp</id>
      <phase>initialize</phase>
      <configuration>
        <target>
          <mkdir dir="${project.build.directory}/gwt-temp"/>
        </target>
      </configuration>
      <goals>
        <goal>run</goal>
      </goals>
    </execution>
  </executions>
</plugin>

I feel like there is a better way to manage the GWT temp directory.  Does anyone have a better solution?  Thanks.

--
You received this message because you are subscribed to the Google Groups "GWT Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/google-web-toolkit/57006d9f-0ccd-4026-b551-c96b5cd08e23n%40googlegroups.com.

Temp gwt directory

This bug was doing my head in:  https://github.com/gwtproject/gwt/issues/10329 (because I'm moving widgets in and out of GWT, and when I switch between my git branches, I hit it).

However, I figured out that GWT writes to the windows temp dir %temp%/gwt-cache-xxx/gwt-unitCache and if I delete that, the problem goes away.

I thought it was the tbroyer gwt-maven-plugin creating these temp files, but it wasn't, it's some internal GWT thing.

I managed to relocate the files in the tbroyer plugin configuration with:
<systemProperties>
  <java.io.tmpdir>${project.build.directory}/gwt-temp</java.io.tmpdir>
</systemProperties>

Now a simple mvn clean gets rid of them.  However, GWT won't create this directory automatically, so when you try to run after a clean, you get:

[WARNING] java.lang.ExceptionInInitializerError
[WARNING] at com.google.gwt.dev.javac.CompiledClass.<clinit>(CompiledClass.java:42)
[WARNING] at com.google.gwt.dev.javac.JdtCompiler$CompilerImpl.createCompiledClass(JdtCompiler.java:352)
[WARNING] at com.google.gwt.dev.javac.JdtCompiler$CompilerImpl.process(JdtCompiler.java:315)
[WARNING] at org.eclipse.jdt.internal.compiler.Compiler.processCompiledUnits(Compiler.java:575)
[WARNING] at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:475)
[WARNING] at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:426)
[WARNING] at com.google.gwt.dev.javac.JdtCompiler.doCompile(JdtCompiler.java:1059)
[WARNING] at com.google.gwt.dev.javac.CompilationStateBuilder$CompileMoreLater.compile(CompilationStateBuilder.java:314)
[WARNING] at com.google.gwt.dev.javac.CompilationStateBuilder.doBuildFrom(CompilationStateBuilder.java:519)
[WARNING] at com.google.gwt.dev.javac.CompilationStateBuilder.buildFrom(CompilationStateBuilder.java:453)
[WARNING] at com.google.gwt.dev.cfg.ModuleDef.getCompilationState(ModuleDef.java:425)
[WARNING] at com.google.gwt.dev.codeserver.Recompiler.initWithoutPrecompile(Recompiler.java:221)
[WARNING] at com.google.gwt.dev.codeserver.Outbox.maybePrecompile(Outbox.java:89)
[WARNING] at com.google.gwt.dev.codeserver.Outbox.<init>(Outbox.java:61)
[WARNING] at com.google.gwt.dev.codeserver.CodeServer.makeOutboxTable(CodeServer.java:194)
[WARNING] at com.google.gwt.dev.codeserver.CodeServer.start(CodeServer.java:153)
[WARNING] at com.google.gwt.dev.codeserver.CodeServer.main(CodeServer.java:106)
[WARNING] at com.google.gwt.dev.codeserver.CodeServer.main(CodeServer.java:57)
[WARNING] Caused by: java.lang.RuntimeException: Unable to initialize byte cache
[WARNING] at com.google.gwt.dev.util.DiskCache.<init>(DiskCache.java:78)
[WARNING] at com.google.gwt.dev.util.DiskCache.<clinit>(DiskCache.java:65)
[WARNING] ... 18 more
[WARNING] Caused by: java.io.IOException: The system cannot find the path specified
[WARNING] at java.base/java.io.WinNTFileSystem.createFileExclusively0(Native Method)
[WARNING] at java.base/java.io.WinNTFileSystem.createFileExclusively(WinNTFileSystem.java:542)
[WARNING] at java.base/java.io.File.createTempFile(File.java:1887)
[WARNING] at java.base/java.io.File.createTempFile(File.java:1928)
[WARNING] at com.google.gwt.dev.util.DiskCache.<init>(DiskCache.java:72)
[WARNING] ... 19 more

This can be fixed by getting maven to create the directory:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-antrun-plugin</artifactId>
  <version>3.2.0</version>

  <executions>
    <execution>
      <id>create-gwt-temp</id>
      <phase>initialize</phase>
      <configuration>
        <target>
          <mkdir dir="${project.build.directory}/gwt-temp"/>
        </target>
      </configuration>
      <goals>
        <goal>run</goal>
      </goals>
    </execution>
  </executions>
</plugin>

I feel like there is a better way to manage the GWT temp directory.  Does anyone have a better solution?  Thanks.

--
You received this message because you are subscribed to the Google Groups "GWT Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/google-web-toolkit/6b2ff6d6-7162-4c95-a2bc-53bb4c16c926n%40googlegroups.com.

Friday, September 4, 2026

Re: GWt TeaVM comparison

I compile to JavaScript, I guess if I was compiling to WASM I wouldn't have the source map problems, no WASM code for it to keep stepping into. Other than that, I think I read WASM is used a lot for things like offloading web scraping to distributed devices,  but presumably where there's very demanding processing it's  more efficient. I do a lot of D3 in TS, I presume WASM can bridge to that so it's worth considering 


On Fri, Sep 4, 2026 at 4:49 AM, Craig Mitchell
<mail@craig-mitchell.com> wrote:
I looked at GraalVM as a JVM replacement, but it wouldn't work with the libraries I use (Google Datastore mainly).  I didn't realise it could also be used to compile WebAssembly.  Thanks, will check it out!

Will also check out J2CL for Web Assembly.  Publish the plugin!  :-D

On Friday, 4 September 2026 at 1:36:53 pm UTC+10 Dmitrii Tikhomirov wrote:

You can use GraalVM to compile Java to WebAssembly.

 The main limitation is multithreading; almost everything else works. 

If you need a very small WASM binary, you can use J2CL. 

I’ve actually already added WASM support to the j2cl-maven-plugin, but I still haven’t gotten around to publishing it.


On Sep 3, 2026, at 8:31 PM, Craig Mitchell <ma...@craig-mitchell.com> wrote:

Do you use it to compile to JavaScript or WebAssembly?

I'd love to compile Java to WebAssembly, but I'm too nervous about the edge cases.

On Friday, 4 September 2026 at 7:43:09 am UTC+10 Tim Macpherson wrote:
Maybe interesting for some:
.
I'm using TeaVM. Main problem is source map debugging will  usually descend into transpiled js, GWT doesn't have that problem otherwise ok it it lasts.


--
You received this message because you are subscribed to the Google Groups "GWT Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-web-tool...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/google-web-toolkit/9335d428-ddc6-4f79-b180-07f733051f05n%40googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "GWT Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/google-web-toolkit/87aaa65a-857e-410e-9f7a-03c9720ddbecn%40googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "GWT Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/google-web-toolkit/130306843.1321063.1788552339412%40mail.yahoo.com.

Thursday, September 3, 2026

Re: GWt TeaVM comparison

I looked at GraalVM as a JVM replacement, but it wouldn't work with the libraries I use (Google Datastore mainly).  I didn't realise it could also be used to compile WebAssembly.  Thanks, will check it out!

Will also check out J2CL for Web Assembly.  Publish the plugin!  :-D

On Friday, 4 September 2026 at 1:36:53 pm UTC+10 Dmitrii Tikhomirov wrote:

You can use GraalVM to compile Java to WebAssembly.

 The main limitation is multithreading; almost everything else works. 

If you need a very small WASM binary, you can use J2CL. 

I’ve actually already added WASM support to the j2cl-maven-plugin, but I still haven’t gotten around to publishing it.


On Sep 3, 2026, at 8:31 PM, Craig Mitchell <ma...@craig-mitchell.com> wrote:

Do you use it to compile to JavaScript or WebAssembly?

I'd love to compile Java to WebAssembly, but I'm too nervous about the edge cases.

On Friday, 4 September 2026 at 7:43:09 am UTC+10 Tim Macpherson wrote:
Maybe interesting for some:
.
I'm using TeaVM. Main problem is source map debugging will  usually descend into transpiled js, GWT doesn't have that problem otherwise ok it it lasts.


--
You received this message because you are subscribed to the Google Groups "GWT Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-web-tool...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/google-web-toolkit/9335d428-ddc6-4f79-b180-07f733051f05n%40googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "GWT Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/google-web-toolkit/87aaa65a-857e-410e-9f7a-03c9720ddbecn%40googlegroups.com.

Re: GWt TeaVM comparison

You can use GraalVM to compile Java to WebAssembly.

 The main limitation is multithreading; almost everything else works. 

If you need a very small WASM binary, you can use J2CL. 

I’ve actually already added WASM support to the j2cl-maven-plugin, but I still haven’t gotten around to publishing it.


On Sep 3, 2026, at 8:31 PM, Craig Mitchell <mail@craig-mitchell.com> wrote:

Do you use it to compile to JavaScript or WebAssembly?

I'd love to compile Java to WebAssembly, but I'm too nervous about the edge cases.

On Friday, 4 September 2026 at 7:43:09 am UTC+10 Tim Macpherson wrote:
Maybe interesting for some:
.
I'm using TeaVM. Main problem is source map debugging will  usually descend into transpiled js, GWT doesn't have that problem otherwise ok it it lasts.


--
You received this message because you are subscribed to the Google Groups "GWT Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/google-web-toolkit/9335d428-ddc6-4f79-b180-07f733051f05n%40googlegroups.com.

Re: GWt TeaVM comparison

Do you use it to compile to JavaScript or WebAssembly?

I'd love to compile Java to WebAssembly, but I'm too nervous about the edge cases.

On Friday, 4 September 2026 at 7:43:09 am UTC+10 Tim Macpherson wrote:
Maybe interesting for some:
.
I'm using TeaVM. Main problem is source map debugging will  usually descend into transpiled js, GWT doesn't have that problem otherwise ok it it lasts.

--
You received this message because you are subscribed to the Google Groups "GWT Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/google-web-toolkit/9335d428-ddc6-4f79-b180-07f733051f05n%40googlegroups.com.

GWt TeaVM comparison

Maybe interesting for some:
.
I'm using TeaVM. Main problem is source map debugging will  usually descend into transpiled js, GWT doesn't have that problem otherwise ok it it lasts.

--
You received this message because you are subscribed to the Google Groups "GWT Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/google-web-toolkit/1665484800.928484.1788471699651%40mail.yahoo.com.

Monday, August 3, 2026

Does GWT support CSP Trusted Types?

Hi everyone,

We're trying to implement Trusted Types (require-trusted-types-for 'script') in a GWT 2.13 application as part of CSP hardening.

We created a default Trusted Types policy, but when Trusted Types is enforced, the application fails during startup because the GWT-generated bootstrap code triggers TrustedScript/TrustedScriptURL violations.

Has anyone successfully implemented Trusted Types with GWT? Is there any official support or recommended approach for this?

Thanks in advance!

--
You received this message because you are subscribed to the Google Groups "GWT Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/google-web-toolkit/1b60c2ba-afa2-4f3d-ad8c-251c403729adn%40googlegroups.com.

Tuesday, July 14, 2026

Re: Apache commons-text security issues

Hi Mirza,

this is not a production jar as Colin pointed out. 
So if you are using the owasp plugin to find these, you can safely add this library to the owasp exclusions list - or setup you plugin/project so that you only scan libraries used in your deployable product. 

rg,

Leon.

On Tuesday, 14 July 2026 at 16:45:21 UTC+2 Mirza Hadžič wrote:
Hello,

note that commons-text 1.9 used in gwt-user is having security issues,
so please upgrade this library to newer version if possible. This jar is
used by net.sourceforge.htmlunit library.

Cheers,

Mirza

--
You received this message because you are subscribed to the Google Groups "GWT Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/google-web-toolkit/0df8389b-9106-4603-98c0-a650b2da9f3bn%40googlegroups.com.

Re: Apache commons-text security issues

Thanks for calling this out - however, the gwt-user dependency should never be on your runtime classpath, but only used when you compile/test/debug code for your project, so the scope her is limited.

Oddly, the non-maven build of GWT doesn't appear to include commons-text, I wonder if that is an oversight of the ant build, or if the dependency can simply be excluded.

I've filed https://github.com/gwtproject/gwt/issues/10370 to track this.
On Tuesday, July 14, 2026 at 9:45:21 AM UTC-5 had...@digitech.cz wrote:
Hello,

note that commons-text 1.9 used in gwt-user is having security issues,
so please upgrade this library to newer version if possible. This jar is
used by net.sourceforge.htmlunit library.

Cheers,

Mirza

--
You received this message because you are subscribed to the Google Groups "GWT Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/google-web-toolkit/bcfd0ff7-466c-41e0-a26e-c5b2aaa97710n%40googlegroups.com.

Apache commons-text security issues

Hello, note that commons-text 1.9 used in gwt-user is having security issues, so please upgrade this library to newer version if possible. This jar is used by net.sourceforge.htmlunit library. Cheers, Mirza -- You received this message because you are subscribed to the Google Groups "GWT Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscribe@googlegroups.com. To view this discussion visit https://groups.google.com/d/msgid/google-web-toolkit/62b19755-f37d-4fd4-b583-39e5935b78dd%40digitech.cz.

Tuesday, July 7, 2026

Re: Elemental2 oddities

With the Elemental2 1.4.0-RC1 release, we now have a new WebGLContextAttributes class that now has a create method.

However, calling it:
WebGLContextAttributes contextAttributes = WebGLContextAttributes.create();

Results in:
com.google.gwt.core.client.JavaScriptException: (ReferenceError) : mOu_g$ is not defined

Which isn't what I expected.

Doing this still works:
WebGLContextAttributes contextAttributes = Js.uncheckedCast(JsPropertyMap.of());

I don't have the closure compiler knowledge to understand what's going on here.  Was the fix ( https://github.com/google/closure-compiler/issues/4250 ) not correct?

On Monday, 28 July 2025 at 8:20:37 pm UTC+10 Craig Mitchell wrote:
Thanks again Jens.  Issue raised:  https://github.com/google/closure-compiler/issues/4250

On Monday, 28 July 2025 at 6:55:23 pm UTC+10 Jens wrote:
Because it is only a dictionary (= a plain JS object)


In JS you simply do:

var canvas = document.getElementById('canvas');
var context = canvas.getContext('webgl', { antialias: false, stencil: true }); // 2nd argument is WebGLContextAttributes
var attributes = context.getContextAttributes();

Looks like it is again defined badly in closure-compiler externs. The generated elemental2 implementation should have a similar structure than for example elemental2 AddEventListenerOption. It is an interface with a static create() method which does exactly what you do in your solution.

See:


I think it should be @interface or @record instead of @constructor.


-- J.

Craig Mitchell schrieb am Montag, 28. Juli 2025 um 07:39:57 UTC+2:
I'm switching to use Elemental2, and it's fantastic.  All the bindings I'll ever need.  A big thank you to all that created it!

There are some strange things though.  Like when setting up a WebGLRenderingContext, we need to pass WebGLContextAttributes.

However, doing:
WebGLContextAttributes contextAttributes = new WebGLContextAttributes();

compiles fine, but at runtime throws:
TypeError: $wnd.WebGLContextAttributes is not a constructor

I figured out I can do this instead:
WebGLContextAttributes contextAttributes = Js.uncheckedCast(JsPropertyMap.of());

But why can't I just use its constructor?  Am I doing something wrong?

--
You received this message because you are subscribed to the Google Groups "GWT Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/google-web-toolkit/126d9f3a-513b-4aeb-bd33-1adccce25605n%40googlegroups.com.

Re: Elemental2 WebRTC createOffer and createAnswer are incorrect

It took a year, but the newly released Elemental2 1.4.0-RC1 now has this fix.  🎉

On Wednesday, 20 August 2025 at 9:40:32 am UTC+10 Craig Mitchell wrote:
Following up on my own comment:  A request for a new build with updated closure externs has been made:  https://github.com/google/elemental2/issues/175

On Sunday, 20 July 2025 at 9:37:31 am UTC+10 Craig Mitchell wrote:
Now the good people at the closure-compiler have fixed the error ( https://github.com/google/closure-compiler/commit/5aadfa78592a2778ae4cac52613fb9238228b3e8 ), I see I can build a new version of Elemental2 locally ( https://github.com/google/elemental2?tab=readme-ov-file#build-gwt-compatible-maven-jar-files ).

It would be nice to get an offical Elemental2 build, and have it pushed to Maven.  It looks like one hasn't been done for 9 months, is there any offical Elemental2 release schedule?

On Tuesday, 15 July 2025 at 7:37:27 pm UTC+10 Craig Mitchell wrote:
Thanks Jens.  Bug raised:  https://github.com/google/closure-compiler/issues/4249

On Tuesday, 15 July 2025 at 6:49:06 pm UTC+10 Jens wrote:
And this works great.  But it would be nice to fix Elemental2.

You have to file an issue against closure-compiler because elemental2 takes their definition: https://github.com/google/closure-compiler/blob/15c5dd492cbb9dcdfd24d01f75b64e3e9b2291eb/externs/browser/w3c_rtc.js#L3586C23-L3586C44

-- J. 

--
You received this message because you are subscribed to the Google Groups "GWT Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/google-web-toolkit/4cb68587-ffe6-40e2-8153-6e0d56bb291bn%40googlegroups.com.

Monday, July 6, 2026

Learn more about our updated Terms of Service