#!/bin/bash -ex
# -----------------------------------------------------------------------------
# Builds the release bits and uploads them.
# -----------------------------------------------------------------------------

VERSION=$1
NEXT_VERSION=$2
BRANCH=$3
DRY_RUN=$4

dryRun=0
if [ "${DRY_RUN}" == "--dry-run" ]; then
    dryRun=1
fi

# fix version strings, build artifacts, upload artifacts
onos-release $VERSION $DRY_RUN

if [ $dryRun -eq 0 ]; then
    # upload docs
    onos-upload-docs ${WIKI_USER}

    # upload release bits
    onos-upload-bits

    # spot check that uploaded artifacts are correct
    check-uploaded-maven-artifacts  $VERSION $ONOS_ROOT https://oss.sonatype.org/content/groups/staging

    # set the version strings to the next version
    onos-snapshot ${NEXT_VERSION}

    # Push version string changes to git
    git push origin ${BRANCH}

    # Push tag for this build to git
    git push origin ${VERSION}
fi
