Skip to content

Commit aa276c1

Browse files
committed
travis - add release steps (refs #21)
1 parent 919e380 commit aa276c1

File tree

4 files changed

+116
-0
lines changed

4 files changed

+116
-0
lines changed

.travis.yml

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@ language: java
99

1010
jdk: oraclejdk8
1111

12+
before_install:
13+
- "mkdir -p $HOME/.m2"
14+
- "cp .travis/travis-settings.xml $HOME/.m2/settings.xml"
1215
install: true
1316
before_script:
1417
- "export DISPLAY=:99.0"
@@ -17,3 +20,43 @@ before_script:
1720

1821
script: "./mvnw verify"
1922

23+
24+
before_deploy: true
25+
deploy:
26+
provider: releases
27+
api_key: ${GITHUB_OAUTH_TOKEN}
28+
file_glob: true
29+
file:
30+
- net.sourceforge.pmd.eclipse.p2updatesite/target/net.sourceforge.pmd.eclipse.p2updatesite-*.zip
31+
skip_cleanup: true
32+
on:
33+
tags: true
34+
repo: pmd/pmd-eclipse-plugin
35+
condition: "${TRAVIS_SECURE_ENV_VARS} = true"
36+
after_deploy: bash .travis/release.sh
37+
38+
39+
40+
notifications:
41+
email:
42+
recipients:
43+
44+
on_success: always
45+
on_failure: always
46+
cache:
47+
directories:
48+
- "$HOME/.m2"
49+
50+
env:
51+
global:
52+
- secure: "ICbAc4rTINnujJdt/caFPEOwrtAKmFd+DGxlE0Hukn2WGUxrci5lvBU6LXoECS26yVApVzV8iYaz4IEz9n3EVc+VmzSpw+qmBBKmlfZBrfavtQpXoyXiXU/3eEc2sLRQtf5rc1nKZuIFQ6Y3MR5u1SFMFrMTiFqYKaXVRr/o93xoKILYoZkZ4aNu5OSNMtQ45PJKblxqf7fMxe/HHrKg9mTmpxJ/C4AA2kcRPCVLfPf9J5lKqor3GwVIrExUU1aJJlJtwtK8Uz5nSAHjNOA4RZ6qjVtkTKBIfbvaaPf42QwejUYf5M+WEXsTWLBpIKHetSus7ajzpv9SvbPHmxIDQPw9nRinZV2c206ublYQf3UCXJtm3RU8XbOLFUkTXEKjvw06i29lUojFsHqs0QA6xkY1tdIXILOgcb0t2sDGGhY5jE9TlANfOAVtHt5sNRVetCk1JA5RZXFfJz8umxkfyAbm/taVvI9aM48RhqO4iMygNwjVrOfAWOaT/x39e2Ra0ESrT1Z/czT0yHU4R6p+jOByncE6lnhOVFmRPb55Jz5l4WI2OIs0NZcFbYUVAEchJqg2aeER8Oi00339Y40/DofSiurp+pcWoftdzg1Xd1KShuv0caKLQf0NkSTiLO6ZL4vAb0fKV31m2jkJAmfR9cBObzf60V0uvIMaW8GNbhY="
53+
- secure: "PTDtuuVBQ+AwxfJ/H+eSsgPN2TZCVvr8EbZmF74ZA1mRSue8NAY4QiHcNqnnt8Shw2gDiWJ4MB0jNcSiHYi66iw5nSy8gmwJAy1eU9Scs5YikGLzHS2Pc2Vs/WzTKfVExmGpfw6xVxXufBGGKSHsTus1NFD69xGJ1RNjske0o9DF9VT244EoMEIRwaC9aoEVJ6N0Ns97kwXhX+abMKWS769pz7HhbfqKiVEgjdJ/3lIWtQEU30sV25QdI0F9UToL81usC6lWiXfw1sfzHttK9DIjjb2UGpfIsv2DqLuH9eRzAeXwFr7qsYycFHEhRlehW8wbwmvf50zKJfQq/Q5qKcs1aU4GnRaIcA2BE7kyV1jpLFqQTpOix0ZKKfIssUsWL5kstONN6DSEmG/t/6HxoBV/QHRyzv5lz2nLcT3LTi2V0Pq457ZejjK4Gtqbbr+4QBKOKf3GMULg9sWiv8gnwiwgPNtZYY4J8lU1xO7bvXU8RaKv44vPXXxRc6+11DhhIcD2ywW8LFNNFbFQsE2gxJktA+WCpprMywGZLdQ1k9+ZUbfTWV3A5JP4a0sQ5tr4KYj103Gdmux2GuU2rVv29ZKNpOR3pC+FnOXSm3Ft1Pkfxdt3sZ3twf2A7LScZAExcCuQdfU6QxPgbP3Gogpu/rgQSujGxOY17H++8Avrcbg="
54+
- secure: "QBlYuoYq6BU7EmmhtJ55tx1860uLmwa3AoDVavOB9aqh5sPQkG+NVIQZSmDc77GzUwGU0feJOAn0B3hhJ0D9R9xMd7z3htDYXB2MO8nATqJzJ9oyrBUFWv5o5SNf1JlQpqPephIGpmlRn8GxO/aJeGItoIv7Qttu56eDsFfqxz4rEcMv7YjXMDkCZme1vXprGGqOb5x5yFCmnc4DnjfEt0zXkJrEP1jA/bPu+DNTq/N+Ht0A1DnVxC2cjSUcodHuXzcOrM/3lNLrMYb+r5zHZI5MqN+Ou9Ief1gVgQdWQhCFZ14ofQj2svc/jjpWE1a2DifwxIoQiIDjxozSQJIPXckdd8uGtNcZFS+B+AMbxmaJkQs+BmAhoPvzYnkepRZkpNCOMVImjn6jeOi+iC69OzeCT0PF7j4JYWBpIulRso2qfH/pyBsq7QYcDQeTLkeE/FHmOvWnu6+vZmW/aU8N8Awez7vuJDYvWW/5JZMp3bWwXN2kateDGRayfEOUbE6GprTs7uv/xvIJC/amI0+YbGOIkvaoiWe3kTbL99gmszgUOp/YvDfbLVUonm97npfDlrU9uL+qqdnBrZzAHRGIZclb2Tn7agf3IAQN1KaxpFOL7u+VEG5HbtGEbh/h/oOyKMVcb8ho4lWauOcfy78N3f9VkKKr7gnVAEt+eueZbFQ="
55+
56+
# Secure Keys, that need to be set for releases:
57+
#
58+
# BINTRAY_USER
59+
# BINTRAY_APIKEY
60+
# GITHUB_OAUTH_TOKEN
61+
#
62+

.travis/release.sh

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
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

.travis/travis-settings.xml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
2+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3+
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
4+
http://maven.apache.org/xsd/settings-1.0.0.xsd">
5+
6+
<profiles>
7+
<profile>
8+
<id>release-composite</id>
9+
<activation>
10+
<activeByDefault>false</activeByDefault>
11+
</activation>
12+
<properties>
13+
<bintray.user>${env.BINTRAY_USER}</bintray.user>
14+
<bintray.apikey>${env.BINTRAY_APIKEY}</bintray.apikey>
15+
</properties>
16+
</profile>
17+
</profiles>
18+
</settings>

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# PMD Eclipse Plugin
22

3+
[![Build Status](https://travis-ci.org/pmd/pmd-eclipse-plugin.svg?branch=master)](https://travis-ci.org/pmd/pmd-eclipse-plugin)
4+
35
Release Notes: <https://github.com/pmd/pmd-eclipse-plugin/blob/master/ReleaseNotes.md>
46

57
Eclipse Update Site: <https://dl.bintray.com/pmd/pmd-eclipse-plugin/updates/>

0 commit comments

Comments
 (0)