diff --git a/maven/README.txt b/maven/README.md
similarity index 90%
rename from maven/README.txt
rename to maven/README.md
index 17adaf94b9..a71be69807 100644
--- a/maven/README.txt
+++ b/maven/README.md
@@ -1,11 +1,13 @@
-push-gwt.sh packages and deploys GWT to a local or remote Maven
-repository
+The `push-gwtproject.sh` script packages and deploys GWT to a local or
+remote Maven repository.
To build GWT from main and deploy to your local repo:
+```bash
> git switch main
> ant clean dist-dev
> maven/push-gwtproject.sh
+```
Follow the prompts to set the GWT version # and path to the
distribution ZIP (it will automatically find it in build/dist if
@@ -19,11 +21,14 @@ script. If the remote repo requires a username and password, define
the repo in your ~/.m2/settings.xml as below and set GWT_MAVEN_REPO_ID
= server id. In this example, GWT_MAVEN_REPO_ID would be "sonatype".
+```bash
> git switch main
> ant clean dist # must be dist, not dist-dev, to generate Javadocs
> maven/push-gwtproject.sh
+```
~/.m2/settings.xml:
+```xml
${env.M2_REPO}
@@ -34,6 +39,7 @@ the repo in your ~/.m2/settings.xml as below and set GWT_MAVEN_REPO_ID
+```
If the remote repo requires jar signing as does Sonatype (Maven
Central), set up GPG on your local machine then enter the passphrase
diff --git a/maven/google-poms/gwt/gwt-codeserver/pom-template.xml b/maven/google-poms/gwt/gwt-codeserver/pom-template.xml
deleted file mode 100644
index d64807acb6..0000000000
--- a/maven/google-poms/gwt/gwt-codeserver/pom-template.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
- 4.0.0
- com.google.gwt
- gwt-codeserver
- ${gwtVersion}
-
-
- org.gwtproject
-
-
-
\ No newline at end of file
diff --git a/maven/google-poms/gwt/gwt-dev/pom-template.xml b/maven/google-poms/gwt/gwt-dev/pom-template.xml
deleted file mode 100644
index 07b8f24480..0000000000
--- a/maven/google-poms/gwt/gwt-dev/pom-template.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
- 4.0.0
- com.google.gwt
- gwt-dev
- ${gwtVersion}
-
-
- org.gwtproject
-
-
-
\ No newline at end of file
diff --git a/maven/google-poms/gwt/gwt-servlet/pom-template.xml b/maven/google-poms/gwt/gwt-servlet/pom-template.xml
deleted file mode 100644
index 5a9dec222b..0000000000
--- a/maven/google-poms/gwt/gwt-servlet/pom-template.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
- 4.0.0
- com.google.gwt
- gwt-servlet
- ${gwtVersion}
-
-
- org.gwtproject
-
-
-
\ No newline at end of file
diff --git a/maven/google-poms/gwt/gwt-user/pom-template.xml b/maven/google-poms/gwt/gwt-user/pom-template.xml
deleted file mode 100644
index 762817a7f4..0000000000
--- a/maven/google-poms/gwt/gwt-user/pom-template.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
- 4.0.0
- com.google.gwt
- gwt-user
- ${gwtVersion}
-
-
- org.gwtproject
-
-
-
\ No newline at end of file
diff --git a/maven/google-poms/gwt/pom-template.xml b/maven/google-poms/gwt/pom-template.xml
deleted file mode 100644
index 777f51ed37..0000000000
--- a/maven/google-poms/gwt/pom-template.xml
+++ /dev/null
@@ -1,251 +0,0 @@
-
-
-
- org.sonatype.oss
- oss-parent
- 4
-
- 4.0.0
- com.google.gwt
- gwt
- pom
- GWT
- http://www.gwtproject.org/
- ${gwtVersion}
-
-
- GWT Terms
- http://www.gwtproject.org/terms.html
-
-
-
- 9.4.44.v20210927
- 9.6
-
-
-
-
- org.gwtproject
- gwt-user
- ${project.version}
-
-
- org.gwtproject
- gwt-dev
- ${project.version}
-
-
- org.gwtproject
- gwt-codeserver
- ${project.version}
-
-
- org.gwtproject
- gwt-servlet
- ${project.version}
-
-
- com.google.gwt
- gwt-user
- ${project.version}
-
-
- com.google.gwt
- gwt-dev
- ${project.version}
-
-
- com.google.gwt
- gwt-codeserver
- ${project.version}
-
-
- com.google.gwt
- gwt-servlet
- ${project.version}
-
-
- com.google.web.bindery
- requestfactory
- ${project.version}
- pom
- import
-
-
- com.google.jsinterop
- jsinterop-annotations
- 2.0.0
-
-
- javax.servlet
- javax.servlet-api
- 3.1.0
-
-
- javax.validation
- validation-api
- 1.0.0.GA
-
-
- javax.validation
- validation-api
- 1.0.0.GA
-
- sources
-
-
- com.google.code.gson
- gson
- 2.6.2
-
-
- org.ow2.asm
- asm
- ${asm.version}
-
-
- org.ow2.asm
- asm-commons
- ${asm.version}
-
-
- org.ow2.asm
- asm-util
- ${asm.version}
-
-
- colt
- colt
- 1.2.0
-
-
- commons-collections
- commons-collections
- 3.2.2
-
-
- commons-io
- commons-io
- 2.4
-
-
- com.ibm.icu
- icu4j
- 63.1
-
-
- net.sourceforge.htmlunit
- htmlunit
- 2.19
-
-
- org.w3c.css
- sac
- 1.3
-
-
- tapestry
- tapestry
- 4.0.2
-
-
- com.google.code.findbugs
- jsr305
- 1.3.9
-
-
-
- org.eclipse.jetty
- jetty-webapp
- ${jetty.version}
-
-
-
- org.eclipse.jetty
- jetty-servlets
- ${jetty.version}
-
-
-
-
- org.eclipse.jetty
- jetty-annotations
- ${jetty.version}
-
-
- org.eclipse.jetty
- apache-jsp
- ${jetty.version}
-
-
- org.eclipse.jetty.orbit
- org.eclipse.jdt.core
-
-
-
-
-
- org.eclipse.jetty.websocket
- websocket-api
- ${jetty.version}
-
-
- org.eclipse.jetty.websocket
- websocket-common
- ${jetty.version}
-
-
- org.eclipse.jetty
- jetty-continuation
- ${jetty.version}
-
-
- org.eclipse.jetty
- jetty-http
- ${jetty.version}
-
-
- org.eclipse.jetty
- jetty-io
- ${jetty.version}
-
-
- org.eclipse.jetty
- jetty-jndi
- ${jetty.version}
-
-
- org.eclipse.jetty
- jetty-plus
- ${jetty.version}
-
-
- org.eclipse.jetty
- jetty-util
- ${jetty.version}
-
-
- org.eclipse.jetty
- jetty-security
- ${jetty.version}
-
-
- org.eclipse.jetty
- jetty-server
- ${jetty.version}
-
-
- org.eclipse.jetty
- jetty-servlet
- ${jetty.version}
-
-
- org.eclipse.jetty
- jetty-xml
- ${jetty.version}
-
-
-
-
diff --git a/maven/google-poms/requestfactory/apt/pom-template.xml b/maven/google-poms/requestfactory/apt/pom-template.xml
deleted file mode 100644
index e24aff8ea9..0000000000
--- a/maven/google-poms/requestfactory/apt/pom-template.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
- 4.0.0
- com.google.web.bindery
- requestfactory-apt
- ${gwtVersion}
-
-
- org.gwtproject.web.bindery
-
-
-
diff --git a/maven/google-poms/requestfactory/client/pom-template.xml b/maven/google-poms/requestfactory/client/pom-template.xml
deleted file mode 100644
index 3e1d969a2e..0000000000
--- a/maven/google-poms/requestfactory/client/pom-template.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
- 4.0.0
- com.google.web.bindery
- requestfactory-client
- ${gwtVersion}
-
-
- org.gwtproject.web.bindery
-
-
-
diff --git a/maven/google-poms/requestfactory/pom-template.xml b/maven/google-poms/requestfactory/pom-template.xml
deleted file mode 100644
index bd43648499..0000000000
--- a/maven/google-poms/requestfactory/pom-template.xml
+++ /dev/null
@@ -1,67 +0,0 @@
-
-
-
- org.sonatype.oss
- oss-parent
- 4
-
- 4.0.0
- com.google.web.bindery
- requestfactory
- pom
- RequestFactory
- http://www.gwtproject.org/doc/latest/DevGuideRequestFactory.html
- ${gwtVersion}
-
-
- GWT Terms
- http://www.gwtproject.org/terms.html
-
-
-
-
-
- com.google.web.bindery
- requestfactory-apt
- ${project.version}
-
-
- com.google.web.bindery
- requestfactory-client
- ${project.version}
-
-
- com.google.web.bindery
- requestfactory-server
- ${project.version}
-
-
- org.gwtproject.web.bindery
- requestfactory-apt
- ${project.version}
-
-
- org.gwtproject.web.bindery
- requestfactory-client
- ${project.version}
-
-
- org.gwtproject.web.bindery
- requestfactory-server
- ${project.version}
-
-
- javax.validation
- validation-api
- 1.0.0.GA
-
-
- com.google.code.gson
- gson
- 2.6.2
-
-
-
-
diff --git a/maven/google-poms/requestfactory/server/pom-template.xml b/maven/google-poms/requestfactory/server/pom-template.xml
deleted file mode 100644
index 34d31adc83..0000000000
--- a/maven/google-poms/requestfactory/server/pom-template.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
- 4.0.0
- com.google.web.bindery
- requestfactory-server
- ${gwtVersion}
-
-
- org.gwtproject.web.bindery
-
-
-
diff --git a/maven/push-gwt.sh b/maven/push-gwt.sh
deleted file mode 100755
index 193f87665c..0000000000
--- a/maven/push-gwt.sh
+++ /dev/null
@@ -1,94 +0,0 @@
-#!/bin/bash
-#
-# Pushes GWT poms with "com.google" groupIds to a local (the default) or remote maven repository.
-# These poms are relocation poms, and point to the new "org.gwtproject" poms, rather than being
-# deployed with any artifacts.
-# To push remote, set 2 env variables: GWT_MAVEN_REPO_URL and GWT_MAVEN_REPO_ID
-#
-# GWT_MAVEN_REPO_ID = a server id in your .m2/settings.xml with remote repo username and password
-#
-# Sonatype staging repo (promotes to Maven Central)
-# GWT_MAVEN_REPO_URL=https://oss.sonatype.org/service/local/staging/deploy/maven2/
-#
-# Sonatype Google SNAPSHOTs repo (can only deploy SNAPSHOTs here, and they are immediately public)
-# GWT_MAVEN_REPO_URL=https://oss.sonatype.org/content/repositories/google-snapshots/
-
-pushd $(dirname $0) >/dev/null 2>&1
-
-export pomDir=./google-poms
-
-source lib-gwt.sh
-
-# use GWT_MAVEN_REPO_URL if set else M2_REPO else default location for local repo
-localRepoUrl=${M2_REPO:="$HOME/.m2/repository"}
-localRepoUrl="file://$localRepoUrl"
-repoUrlDefault=${GWT_MAVEN_REPO_URL:=$localRepoUrl}
-# repo id is ignored by local repo
-repoId=${GWT_MAVEN_REPO_ID:=none}
-
-# use GWT_DIST_FILE to specify the default distribution file
-gwtTrunk=$(dirname $(pwd))
-gwtPathDefault=${GWT_DIST_FILE:=$(ls -t1 ${gwtTrunk}/build/dist/gwt-*.zip 2>/dev/null | head -1)}
-
-VERSION_REGEX='[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*-*.*'
-
-# use GWT_VERSION to specify the default version or get it from the file name
-gwtVersionDefault=${GWT_VERSION:=$(expr "$gwtPathDefault" : '.*gwt-\('$VERSION_REGEX'\)\.zip')}
-
-# prompt for info
-read -e -p"GWT version for Maven (${gwtVersionDefault:-ex: HEAD-SNAPSHOT}): " gwtVersion
-gwtVersion=${gwtVersion:=$gwtVersionDefault}
-if test "$gwtVersion" != "HEAD-SNAPSHOT" && ! expr "$gwtVersion" : "$VERSION_REGEX" >/dev/null; then
- echo "Please enter a version of the form x.y.z or x.y.z-abc"
- exit 1
-fi
-
-read -e -p"Deploy to repo URL ($repoUrlDefault): " repoUrl
-repoUrl=${repoUrl:=$repoUrlDefault}
-
-# setting the repoUrl to 'install' will instruct to maven-gwt to
-# execute the install goal instead of the deploy one.
-if [[ "$repoUrl" == "$localRepoUrl" ]]; then
- repoUrl=install
-fi
-
-# use GWT_GPG_PASS environment var by default if set
-read -p"GPG passphrase for jar signing (may skip for local deployment): " gpgPassphrase
-gpgPassphrase=${gpgPassphrase:=$GWT_GPG_PASS}
-
-# A simplified maven-gwt is inlined here, since only poms are templated and deployed
-
-gwtMavenVersion="$gwtVersion"
-mavenRepoUrl="$repoUrl"
-mavenRepoId="$repoId"
-
-# Generate POMs with correct version
-for template in `find $pomDir -name pom-template.xml`
-do
- dir=`dirname $template`
- pushd $dir > /dev/null
- sed -e "s|\${gwtVersion}|$gwtMavenVersion|g" pom-template.xml >pom.xml
- popd > /dev/null
-done
-
-# push parent poms
-maven-deploy-file $mavenRepoUrl $mavenRepoId $pomDir/gwt/pom.xml $pomDir/gwt/pom.xml || die
-
-# push artifact relocation poms for gwt
-for i in dev user servlet codeserver
-do
- gwtPomFile=$pomDir/gwt/gwt-$i/pom.xml
- maven-deploy-file $mavenRepoUrl $mavenRepoId $gwtPomFile $gwtPomFile || die
-
-done
-
-# Deploy RequestFactory jars
-maven-deploy-file $mavenRepoUrl $mavenRepoId $pomDir/requestfactory/pom.xml $pomDir/requestfactory/pom.xml || die
-
-for i in client server apt
-do
- rfPomFile=$pomDir/requestfactory/${i}/pom.xml
- maven-deploy-file $mavenRepoUrl $mavenRepoId $rfPomFile $rfPomFile || die
-done
-
-popd >/dev/null 2>&1