Files
alfresco-community-repo/scripts/travis/update_downstream.sh
2022-03-22 10:45:16 +00:00

53 lines
1.6 KiB
Bash

#!/usr/bin/env bash
echo "=========================== Starting Update Downstream Script ==========================="
PS4="\[\e[35m\]+ \[\e[m\]"
set -vex
pushd "$(dirname "${BASH_SOURCE[0]}")/../../"
source "$(dirname "${BASH_SOURCE[0]}")/build_functions.sh"
#Fetch the latest changes, as Travis will only checkout the PR commit
git fetch origin "${TRAVIS_BRANCH}"
git checkout "${TRAVIS_BRANCH}"
git pull
# Retrieve the current Community version - latest tag on the current branch
VERSION="$(git describe --abbrev=0 --tags)"
DOWNSTREAM_REPO="github.com/Alfresco/alfresco-enterprise-repo.git"
cloneRepo "${DOWNSTREAM_REPO}" "${TRAVIS_BRANCH}"
cd "$(dirname "${BASH_SOURCE[0]}")/../../../$(basename "${DOWNSTREAM_REPO%.git}")"
# Update parent version
mvn -B versions:update-parent versions:commit "-DparentVersion=[${VERSION}]"
# Update dependency version
mvn -B versions:set-property versions:commit \
-Dproperty=dependency.alfresco-community-repo.version \
"-DnewVersion=${VERSION}"
# Commit changes
git status
git --no-pager diff pom.xml
git add pom.xml
if [[ "${TRAVIS_COMMIT_MESSAGE}" =~ \[force[^\]]*\] ]]; then
FORCE_TOKEN=$(echo "${TRAVIS_COMMIT_MESSAGE}" | sed "s|^.*\(\[force[^]]*\]\).*$|\1|g")
git commit --allow-empty -m "${FORCE_TOKEN} Update upstream version to ${VERSION}"
git push
elif git status --untracked-files=no --porcelain | grep -q '^' ; then
git commit -m "Update upstream version to ${VERSION}"
git push
else
echo "Dependencies are already up to date."
git status
fi
popd
set +vex
echo "=========================== Finishing Update Downstream Script =========================="