#!/bin/bash
-# @License EPL-1.0 <http://spdx.org/licenses/EPL-1.0>
+# SPDX-License-Identifier: EPL-1.0
##############################################################################
# Copyright (c) 2017 The Linux Foundation and others.
#
# This script performs version bumping activities for an ODL release.
echo "---> version-bump.sh"
+# The only purpose of RELEASE_TAG in this script is to set the Gerrit topic.
+# It is also used as a placeholder for version bumping but gets wiped out
+# immediately to bump versions by x.y.(z+1).
+RELEASE_TAG="${STREAM^}"
+
mkdir -p "$WORKSPACE/archives"
LOG_FILE="$WORKSPACE/archives/version-bump.log"
BRANCH="$GERRIT_BRANCH"
set -eu -o pipefail
git checkout -b "${BRANCH,,}" "origin/${BRANCH,,}"
-git submodule foreach git checkout -b "${BRANCH,,}" "origin/${BRANCH,,}"
+
+# TODO: Simplify once stable/nitrogen is no longer supported.
+for module in $(git submodule | awk '{ print $2 }')
+do
+ pushd "$module"
+ if [ "$GERRIT_BRANCH" == "stable/nitrogen" ] && [ "$module" == "yangtools" ]; then
+ git checkout -b "v1.2.x" "origin/v1.2.x"
+ else
+ git checkout -b "${BRANCH,,}" "origin/${BRANCH,,}"
+ fi
+ popd
+done
+
+# Setup Gerrit remove to ensure Change-Id gets set on commit.
+git config --global --add gitreview.username "jenkins-releng"
+git review -s
+git submodule foreach "git review -s"
# Check if git state is clean
git status
for module in $(git submodule | awk '{ print $2 }')
do
pushd "$module"
- git format-patch --stdout "origin/${BRANCH,,}" > "$patch_dir/${module//\//-}.patch"
- git bundle create "$patch_dir/${module//\//-}.bundle" "origin/${BRANCH,,}..HEAD"
+ # TODO: Remove once stable/nitrogen is no longer supported.
+ if [ "$GERRIT_BRANCH" == "stable/nitrogen" ] && [ "$module" == "yangtools" ]; then
+ git format-patch --stdout "origin/v1.2.x" > "$patch_dir/${module//\//-}.patch"
+ git bundle create "$patch_dir/${module//\//-}.bundle" "origin/v1.2.x..HEAD"
+ else
+ git format-patch --stdout "origin/${BRANCH,,}" > "$patch_dir/${module//\//-}.patch"
+ git bundle create "$patch_dir/${module//\//-}.bundle" "origin/${BRANCH,,}..HEAD"
+ fi
popd
done
-Dmaven.repo.local=/tmp/r \
-Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r
+ # Clear any changes caused by Maven build
+ git checkout -f
+ git submodule foreach git checkout -f
+
# Push up patches last, as long as nothing failed.
- git submodule foreach "git remote add gerrit '$GIT_URL/$PROJECT'"
- git submodule foreach "git review --yes -t '${RELEASE_TAG}' || true"
+ git submodule foreach git review --yes -t "${RELEASE_TAG}"
fi
echo "Version bumping complete."