Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,5 @@ deploy:
script:
- "./src/main/scripts/cd/release.sh"
on:
tags: true
branch: master
36 changes: 33 additions & 3 deletions src/main/scripts/cd/release.sh
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,45 @@ commit_to_develop() {
git fetch
git branch -r
git checkout -B develop
git rebase master
git rebase $TRAVIS_BRANCH
git commit --amend -m "++++ Prepare for next development iteration build: $TRAVIS_BUILD_NUMBER ++++"
git push origin develop
}

mvn -P release -Darguments=-DskipTests release:prepare release:perform -DautoVersionSubmodules=true -DscmCommentPrefix="$TRAVIS_COMMIT_MESSAGE [skip ci] " -B -V -s travis-settings.xml
check_next_version() {
export NEXT_VERSION=$(echo $TRAVIS_COMMIT_MESSAGE | grep -E -o '[0-9]+\.[0-9]+\.[0-9]+-SNAPSHOT')
if [ -n "$NEXT_VERSION" ] ; then
export MVN_NEXT_VERSION=-DdevelopmentVersion=$NEXT_VERSION
fi
}

check_tag_for_rc() {
export VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)
if [ -n "$TRAVIS_TAG" ] ; then
RC_VER=$(echo $TRAVIS_TAG | grep -E -o 'RC-?[0-9]+')
RC_PREPARE=$(echo $TRAVIS_TAG | grep -o -i 'prepare')
if [ -n "$RC_VER" -a -n "$RC_PREPARE" ] ; then
export NEW_RC_VERSION=$(echo $VERSION | sed "s/SNAPSHOT/$RC_VER/g")
echo Release candidate: $NEW_RC_VERSION
echo *-*-*-*-*-*-*-*-*-*-*-*
export MVN_RELEASE_VERSION=-DreleaseVersion=$NEW_RC_VERSION
if [ -n "$MVN_NEXT_VERSION" ] ; then
export MVN_NEXT_VERSION=-DdevelopmentVersion=$VERSION;
fi
fi
fi
}

check_next_version
check_tag_for_rc

mvn -P release -Darguments=-DskipTests release:prepare release:perform $MVN_RELEASE_VERSION $MVN_NEXT_VERSION -DautoVersionSubmodules=true -DscmCommentPrefix="$TRAVIS_COMMIT_MESSAGE [skip ci] " -B -V -s travis-settings.xml

mvn clean
commit_to_develop

if [ -z "$NEW_RC_VERSION" ]; then
commit_to_develop
fi

# extends release.sh
for script_file in $RELEASE_EXEC_FILES; do
Expand Down