| #!/bin/bash |
| # Copyright (C) 2014 The Android Open Source Project |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| function help |
| { |
| cat <<'eof' |
| Usage: plugin_archetype_deploy [option] |
| |
| Deploys Gerrit plugin Maven archetypes to Maven Central |
| |
| Valid options: |
| --help show this message. |
| --dry-run don't execute commands, just print them. |
| |
| eof |
| exit |
| } |
| |
| function getver |
| { |
| grep "$1" $root/VERSION | sed "s/.*'\(.*\)'/\1/" |
| } |
| |
| function instroot |
| { |
| bindir=${0%/*} |
| |
| case $bindir in |
| ./*) bindir=$PWD/$bindir ;; |
| esac |
| |
| cd $bindir/.. |
| pwd |
| } |
| |
| function doIt |
| { |
| case $dryRun in |
| true) echo "$@" ;; |
| *) "$@" ;; |
| esac |
| } |
| |
| function build_and_deploy |
| { |
| module=${PWD##*/} |
| doIt mvn package gpg:sign-and-deploy-file \ |
| -Durl=$url \ |
| -DrepositoryId=sonatype-nexus-staging \ |
| -DpomFile=pom.xml \ |
| -Dfile=target/$module-$ver.jar |
| } |
| |
| function confirm |
| { |
| read -n1 -p "Are you sure you want to deploy? [N/y]: " ready |
| if [[ ! $ready == [Yy] ]]; then |
| if [[ $ready == [Nn] || -z $ready ]]; then |
| echo; exit |
| else |
| echo; confirm |
| fi |
| fi |
| } |
| |
| function run |
| { |
| test ${dryRun:-'false'} == 'false' && confirm |
| root=$(instroot) |
| cd "$root" |
| ver=$(getver GERRIT_VERSION) |
| [[ $ver == *-SNAPSHOT ]] \ |
| && url="https://oss.sonatype.org/content/repositories/snapshots" \ |
| || url="https://oss.sonatype.org/service/local/staging/deploy/maven2" |
| |
| for d in gerrit-plugin-archetype \ |
| gerrit-plugin-js-archetype \ |
| gerrit-plugin-gwt-archetype ; do |
| (cd "$d"; build_and_deploy) |
| done |
| } |
| |
| if [ "$1" == "--dry-run" ]; then |
| dryRun=true && run |
| elif [ -z "$1" ]; then |
| run |
| else |
| help |
| fi |