|
| 1 | +#!/bin/bash |
| 2 | +set -e |
| 3 | + |
| 4 | +RELEASE_VERSION=$(./mvnw -q -Dexec.executable="echo" -Dexec.args='${project.version}' --non-recursive org.codehaus.mojo:exec-maven-plugin:1.5.0:exec | tail -1) |
| 5 | + |
| 6 | +echo "Performing release steps" |
| 7 | +echo "RELEASE_VERSION: $RELEASE_VERSION" |
| 8 | +echo "TRAVIS_REPO_SLUG: $TRAVIS_REPO_SLUG" |
| 9 | +echo "TRAVIS_PULL_REQUEST_SLUG: $TRAVIS_PULL_REQUEST_SLUG" |
| 10 | +echo "TRAVIS_PULL_REQUEST_BRANCH: $TRAVIS_PULL_REQUEST_BRANCH" |
| 11 | +echo "TRAVIS_PULL_REQUEST: $TRAVIS_PULL_REQUEST" |
| 12 | +echo "TRAVIS_SECURE_ENV_VARS: $TRAVIS_SECURE_ENV_VARS" |
| 13 | +echo "TRAVIS_BRANCH: $TRAVIS_BRANCH" |
| 14 | +echo "TRAVIS_TAG: $TRAVIS_TAG" |
| 15 | +echo "TRAVIS_ALLOW_FAILURE: $TRAVIS_ALLOW_FAILURE" |
| 16 | + |
| 17 | + |
| 18 | +# Deploy the update site to bintray |
| 19 | +./mvnw clean verify -Prelease-composite |
| 20 | + |
| 21 | +# Assumes, the release has already been created by travis github releases provider |
| 22 | +GITHUB_URL="https://api.github.com/repos/pmd/pmd-eclipse-plugin/releases" |
| 23 | +RELEASE_ID=$(curl -s -H "Authorization: token ${GITHUB_OAUTH_TOKEN}" ${GITHUB_URL}/tags/${$TRAVIS_TAG}|jq ".id") |
| 24 | +RELEASE_NAME="PMD For Eclipse ${RELEASE_VERSION} ($(date -u +%d-%B-%Y))" |
| 25 | +RELEASE_BODY="A new PMD for Eclipse plugin version has been released. |
| 26 | +It is available via the update site: https://dl.bintray.com/pmd/pmd-eclipse-plugin/updates/ |
| 27 | +
|
| 28 | +Release notes: https://github.com/pmd/pmd-eclipse-plugin/blob/master/ReleaseNotes.md |
| 29 | +" |
| 30 | + |
| 31 | +RELEASE_BODY="${RELEASE_BODY//'\'/\\\\}" |
| 32 | +RELEASE_BODY="${RELEASE_BODY//$'\r'/}" |
| 33 | +RELEASE_BODY="${RELEASE_BODY//$'\n'/\\r\\n}" |
| 34 | +RELEASE_BODY="${RELEASE_BODY//'"'/\\\"}" |
| 35 | +cat > release-edit-request.json <<EOF |
| 36 | +{ |
| 37 | + "name": "$RELEASE_NAME", |
| 38 | + "body": "$RELEASE_BODY" |
| 39 | +} |
| 40 | +EOF |
| 41 | +echo "Updating release at ${GITHUB_URL}/${RELEASE_ID}..." |
| 42 | + |
| 43 | + |
| 44 | +RESPONSE=$(curl -i -s -H "Authorization: token ${GITHUB_OAUTH_TOKEN}" -H "Content-Type: application/json" --data "@release-edit-request.json" -X PATCH ${GITHUB_URL}/${RELEASE_ID}) |
| 45 | +if [[ "$RESPONSE" != *"HTTP/1.1 200"* ]]; then |
| 46 | + echo "Request:" |
| 47 | + cat release-edit-request.json |
| 48 | + echo |
| 49 | + echo "Response:" |
| 50 | + echo "$RESPONSE" |
| 51 | +else |
| 52 | + echo "Update OK" |
| 53 | +fi |
0 commit comments