diff --git a/.travis.yml b/.travis.yml index 5ec5534544..28092ba074 100644 --- a/.travis.yml +++ b/.travis.yml @@ -31,26 +31,19 @@ after_success: true before_deploy: true deploy: - - provider: script - script: bash .travis/release.sh - skip_cleanup: true - on: - tags: true - repo: pmd/pmd - condition: "${TRAVIS_SECURE_ENV_VARS} = true" - - provider: releases - api_key: ${GITHUB_OAUTH_TOKEN} - file_glob: true - file: - - pmd-dist/target/pmd-*.zip - - target/pmd-doc-*.zip - # TODO : This won't copy the changelog to GitHub - skip_cleanup: true - on: - tags: true - repo: pmd/pmd - condition: "${TRAVIS_SECURE_ENV_VARS} = true" -after_deploy: true + provider: releases + api_key: ${GITHUB_OAUTH_TOKEN} + file_glob: true + file: + - pmd-dist/target/pmd-*.zip + - target/pmd-doc-*.zip + # TODO : This won't copy the changelog to GitHub + skip_cleanup: true + on: + tags: true + repo: pmd/pmd + condition: "${TRAVIS_SECURE_ENV_VARS} = true" +after_deploy: bash .travis/release.sh notifications: email: diff --git a/.travis/release.sh b/.travis/release.sh index 154b201df1..53d4d2fb3c 100644 --- a/.travis/release.sh +++ b/.travis/release.sh @@ -10,7 +10,25 @@ RELEASE_VERSION=$(mvn -q -Dexec.executable="echo" -Dexec.args='${project.version curl -H "Accept: application/json" -X PUT -d "default=windows&default=mac&default=linux&default=bsd&default=solaris&default=others" \ -d "api_key=${PMD_SF_APIKEY}" https://sourceforge.net/projects/pmd/files/pmd/${RELEASE_VERSION}/pmd-bin-${RELEASE_VERSION}.zip -# TODO: patch the release on github? Upload the changelog? https://developer.github.com/v3/repos/releases/#create-a-release + +# Assumes, the release has already been created by travis github releases provider +RELEASE_ID=$(curl -s -H "Authorization: token ${GITHUB_OAUTH_TOKEN}" https://api.github.com/repos/pmd/pmd/releases/tags/pmd_releases/${RELEASE_VERSION}|jq ".id") +RELEASE_NAME="PMD ${RELEASE_VERSION} ($(date -u +%d-%B-%Y))" +RELEASE_BODY=$(cat src/site/markdown/overview/changelog.md) +RELEASE_BODY="${RELEASE_BODY//$'\\'/\\\\}" +RELEASE_BODY="${RELEASE_BODY//$'\r'/}" +RELEASE_BODY="${RELEASE_BODY//$'\n'/\\r\\n}" +RELEASE_BODY="${RELEASE_BODY//$'"'/\\$'"'}" +cat > release-edit-request.json <