blob: 3037afb786d84d13c54b8fe267b067df29c1858c [file] [log] [blame]
#!/bin/bash
#
# Pushes GWT artifacts to a local (the default) or remote maven repository
# 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=./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}
# prompt for info
read -e -p"GWT version for Maven (ex: 2.4.0): " gwtVersion
case $gwtVersion in
*.*.* )
;;
*.*.*-* )
;;
* )
echo "Please enter a version of the form x.y.z or x.y.z-abc"
exit 1;;
esac
gwtTrunk=$(dirname $(pwd))
if [ -f ${gwtTrunk}/build/dist/gwt-*.zip ]; then
gwtPathDefault=$(ls ${gwtTrunk}/build/dist/gwt-*.zip | head -n1)
gwtPathPrompt=" ($gwtPathDefault)"
fi
read -e -p"Path to GWT distro zip $gwtPathPrompt: " gwtPath
case $gwtPath in
"" )
gwtPath=$gwtPathDefault
;;
* )
;;
esac
if [[ "$gwtPath" == "" || ! -f $gwtPath ]]; then
echo "ERROR: Cannot find file at \"$gwtPath\""
exit 1
fi
read -e -p"Deploy to repo URL ($repoUrlDefault): " repoUrl
case $repoUrl in
"" )
repoUrl=$repoUrlDefault
;;
* )
;;
esac
read -p"GPG passphrase for jar signing (may skip for local deployment): " gpgPassphrase
maven-gwt "$gwtVersion" \
"$gwtPath" \
"$repoUrl" \
"$repoId"
popd >/dev/null 2>&1