We ended up using no plugins for GWT with Gradle. Even if there are some, none of them fit well. Luckily, GWT compiler has a nice CLI, so... Also, we make the gwt a subproject, as we don't use GWT RPC anyway. This helps keeping gwt-dev out of any runtime classpath!!!
Below is a trimmed version (not sure it even compiles, and it is the build.gradle for a subproject) of the build.gradle file for reference, for both compilation (even with a system flag to compile only the dev module) and for running the super dev mode: ext { buildWebapp = "${project(':web').buildDir}/generated/webapp" gwtDev = Boolean.getBoolean('gwt.development') } configurations { gwt } dependencies { gwt(project(':api')) { transitive = false } gwt files(project.sourceSets.main.java.srcDirs) gwt files(project.sourceSets.main.resources.srcDirs) gwt files(project(':api').sourceSets.main.java.srcDirs) gwt "com.google.gwt:gwt-user:$gwtVersion" gwt "com.google.code.gwtx:gwtx:$gwtxVersion" gwt "com.github.branflake2267:gwt-maps-api:$googleMapsApiVersion" gwt "com.google.elemental2:elemental2-webstorage:$elementalVersion" gwt "com.google.elemental2:elemental2-dom:$elementalVersion" gwt "com.google.elemental2:elemental2-promise:$elementalVersion" gwt "com.fasterxml.jackson.core:jackson-annotations:$jacksonVersion" gwt "com.google.gwt:gwt-dev:$gwtVersion" } task compileGwt(type: JavaExec) { dependsOn compileJava ext { outDir = "$buildWebapp/gwt" } group = 'Build' description = 'Compile the GWT source' inputs.files configurations.gwt inputs.property 'development', gwtDev outputs.dir outDir classpath = configurations.gwt main = 'com.google.gwt.dev.Compiler' args = [] args += ['-sourceLevel', "1.$javaVersion"] args += ['-war', buildWebapp] args += ['-logLevel', 'INFO'] args += ['-workDir', "$buildDir/tmp/gwt"] args += ['-XfragmentCount', '6'] args += ['-failOnError'] if (gwtDev) { args += ['-style', 'PRETTY'] args += ['-draftCompile'] args += ['-optimize', '0'] args += ['-XmethodNameDisplayMode', 'ABBREVIATED'] args += ['org.example.MyModuleDev'] } else { args += ['-style', 'OBFUSCATED'] args += ['-optimize', '9'] args += ['-XnoclassMetadata'] args += ['org.example.MyModule'] } } task cleanGwtTemp { doLast { ant.delete(dir: "$buildWebapp/gwt") ant.delete(dir: "$buildDir/tmp/gwt") } } clean { dependsOn cleanGwtTemp } task gwtSuperDev(type: JavaExec) { dependsOn compileJava description = 'Run the GWT code server for Super Dev Mode' classpath = configurations.gwt main = 'com.google.gwt.dev.codeserver.CodeServer' args = [] args += ['-sourceLevel', "1.$javaVersion"] args += ['-launcherDir', buildWebapp] args += ['-logLevel', 'INFO'] args += ['-workDir', "$buildDir/tmp/gwt"] args += ['-precompile'] args += ['-failOnError'] args += ['-bindAddress', '0.0.0.0'] args += ['org.example.MyModuleDev'] doFirst { file("$buildDir/tmp/gwt").mkdirs() } } Em quarta-feira, 10 de março de 2021 às 12:44:57 UTC-3, aka...@gmail.com escreveu: > Even if it is opinionated, please give us Gradle GWT archetype. :-) > > On Wednesday, March 10, 2021 at 5:25:47 PM UTC+2 t.br...@gmail.com wrote: > >> >> >> On Wednesday, March 10, 2021 at 4:13:03 PM UTC+1 pavel....@gmail.com >> wrote: >> >>> We had the same problem with maven but at the end, maven's multi-module >>> project and profiles helped to solve *hack around* it. >>> >> >> There, fixed it for you 😉 >> >> Also see https://www.cloudbees.com/blog/maven-profiles-and-maven-way and >> https://blog.soebes.de/blog/2013/11/09/why-is-it-bad-to-activate-slash-deactive-modules-by-profiles-in-maven/ >> >> among others, by prominent Maven PMC members. >> (and yet, gwt-maven-archetypes use a "dev" profile 🤷, but it's know to >> be kind of hackish in places due to Maven and jetty-maven-plugin's >> limitations) >> > -- 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+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/google-web-toolkit/b369da9d-78fc-4d5f-9227-68a47b18dd61n%40googlegroups.com.