diff options
Diffstat (limited to 'framework/src/onos/tools/build/onos-release')
-rwxr-xr-x | framework/src/onos/tools/build/onos-release | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/framework/src/onos/tools/build/onos-release b/framework/src/onos/tools/build/onos-release new file mode 100755 index 00000000..8e7f7fb0 --- /dev/null +++ b/framework/src/onos/tools/build/onos-release @@ -0,0 +1,41 @@ +#!/bin/bash +# ----------------------------------------------------------------------------- +# Drives the ONOS release process. +# ----------------------------------------------------------------------------- + +[ ! -d "$ONOS_ROOT" ] && echo "ONOS_ROOT is not defined" >&2 && exit 1 +. $ONOS_ROOT/tools/build/envDefaults + +set -e + +export NEW_VERSION=$1 +[ -z "$NEW_VERSION" ] && echo "New ONOS version not specified" && exit 1 + +export NEW_VERSION_SHORT=${NEW_VERSION%-SNAPSHOT} +[ "$NEW_VERSION" != "$NEW_VERSION_SHORT" ] && echo "Version is a SNAPSHOT" && exit 1; + +cd $ONOS_ROOT + +# TODO: Create a new branch for this activity? + +# Change the version +onos-change-version $NEW_VERSION +export ONOS_VERSION=$NEW_VERSION + +# Build ONOS & deploy to staging repo using the release profile. +onos-build && onos-package && mvn -Prelease clean deploy -DskipTests + +# Build ONOS docs +onos-build-docs + +# Build ONOS archetypes & deploy to staging repo using the release profile. +# Note that release of the staging repository is a separate manual step. +pushd tools/package/archetypes/ +mvn clean install && onos-archetypes-test && mvn -Prelease clean deploy +popd + +# Commit newly versioned artifacts and issue a tag. +git commit -a -m"Tagging $NEW_VERSION" +git tag -sm"Tagging $NEW_VERSION" $NEW_VERSION #signed tag + +# TODO: push? |