#!/bin/bash
-# @License EPL-1.0 <http://spdx.org/licenses/EPL-1.0>
+# SPDX-License-Identifier: EPL-1.0
##############################################################################
# Copyright (c) 2015, 2017 The Linux Foundation and others.
#
# 4) Create tarball for distribution.
# RELEASE_TAG=Beryllium-SR1 # Example
-# RELEASE_BRANCH=stable/beryllium # Example
+
+echo "---> prepare-release.sh"
# Set release tag as $STREAM, when no release tag is passed
RELEASE_TAG="${RELEASE_TAG:-${STREAM^}}"
RELEASE_TAG="${RELEASE_TAG^}"
# Directory to put git format-patches
-PATCH_DIR="$WORKSPACE/patches"
+PATCH_DIR="$WORKSPACE/archives/patches"
+mkdir -p "$PATCH_DIR"
+
+# Get the current submodule commit hashes.
+echo autorelease "$(git rev-parse --verify HEAD)" "${RELEASE_TAG}" \
+ | tee -a "$PATCH_DIR/taglist.log"
+# Disable SC2154 because we want $path to be the submodule parameter not the shell.
+# shellcheck disable=SC2154
+git submodule foreach "echo \$path $(git rev-parse --verify HEAD) ${RELEASE_TAG} \
+ | tee -a $PATCH_DIR/taglist.log"
echo "$RELEASE_TAG"
# Remove this case statement when Carbon is no longer supported.
git submodule foreach "git commit -am \"Release $RELEASE_TAG\" || true"
git commit -am "Release $RELEASE_TAG"
-mkdir patches
-# TODO: Fix this workaround so that scripts will ensure that taglist.log exists and archived.
-mv taglist.log "$PATCH_DIR" || true
modules=$(xmlstarlet sel -N x=http://maven.apache.org/POM/4.0.0 -t -m '//x:modules' -v '//x:module' pom.xml)
for module in $modules; do
pushd "$module"
- git format-patch --stdout "origin/$RELEASE_BRANCH" > "$PATCH_DIR/${module//\//-}.patch"
+ # 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"
+ else
+ git format-patch --stdout "origin/$GERRIT_BRANCH" > "$PATCH_DIR/${module//\//-}.patch"
+ fi
git bundle create "$PATCH_DIR/${module//\//-}.bundle" "origin/master..HEAD"
popd
done
-tar cvzf patches.tar.gz -C "$WORKSPACE" patches
+tar cvzf "$WORKSPACE/archives/patches.tar.gz" -C "$WORKSPACE/archives" patches
rm "$PATCH_DIR"/*.bundle