initializr/ci/scripts/stage.sh
2020-07-15 11:24:12 +02:00

47 lines
1.4 KiB
Bash
Executable File

#!/bin/bash
set -e
source $(dirname $0)/common.sh
set_revision() {
[[ -n $1 ]] || { echo "missing set_revision_to_pom() argument" >&2; return 1; }
grep -q "<revision>.*</revision>" pom.xml || { echo "missing revision tag" >&2; return 1; }
sed --in-place -e "s|<revision>.*</revision>|<revision>${1}</revision>|" pom.xml > /dev/null
}
repository=$(pwd)/distribution-repository
pushd git-repo > /dev/null
git fetch --tags --all > /dev/null
popd > /dev/null
git clone git-repo stage-git-repo > /dev/null
pushd stage-git-repo > /dev/null
snapshotVersion=$( get_revision_from_pom )
stageVersion=$( get_next_release $snapshotVersion)
nextVersion=$( bump_version_number $snapshotVersion)
echo "Staging $stageVersion (next version will be $nextVersion)"
set_revision "$stageVersion"
git config user.name "Spring Buildmaster" > /dev/null
git config user.email "buildmaster@springframework.org" > /dev/null
git add pom.xml > /dev/null
git commit -m"Release v$stageVersion" > /dev/null
git tag -a "v$stageVersion" -m"Release v$stageVersion" > /dev/null
./mvnw clean deploy -U -Pfull -DaltDeploymentRepository=distribution::default::file://${repository}
git reset --hard HEAD^ > /dev/null
if [[ $nextVersion != $snapshotVersion ]]; then
echo "Setting next development version (v$nextVersion)"
set_revision "$nextVersion"
git add pom.xml > /dev/null
git commit -m"Next development version (v$nextVersion)" > /dev/null
fi;
echo "DONE"
popd > /dev/null