h3. What We should so development releases every time [Jenkins Job|https://jenkins-wendy.ci.feedhenry.org/job/aerogear/job/aerogear-mobile-intellij-plugin/job/master/lastSuccessfulBuild/artifact/build/distributions/] runs on master to allow users to install the plugin
h3. How Package the plugin in the correct format for Intellij and publish them as artefacts to the github repository(.zip, .tar.gz). Gradle extensions or plugins can be used. Steps for release generation could can be described as follows following : {code} RELEASE PROCESS:
Export GITHUB_TOKEN environment variable export GITHUB_TOKEN=<github-token> Define local variables used for release ARTIFACT_NAME='aerogear-mobile-intellij-plugin' ARTIFACT_VERSION='X.Y.Z' ARTIFACT_BUILD='<alpha|beta>' ARTIFACT_TYPE='zip' ARTIFACT_FILE_NAME=${ARTIFACT_NAME}-${ARTIFACT_VERSION}-${ARTIFACT_BUILD}.${ARTIFACT_TYPE} REPO_NAME='aerogear-mobile-intellij-plugin' RELEASE_NAME="Aerogear Mobile Intellij Plugin ${ARTIFACT_VERSION}-${ARTIFACT_BUILD}" ARTIFACT_FILE_PATH="build/distributions/${ARTIFACT_FILE_NAME}" Create CHANGELOG and save it to file git log --no-merges --pretty=format:"%h - %an, %s" > commits RELEASE_DESC=$(cat commits) Change project version in build.gradle file to X.Y.Z[-<alpha|beta>] Replace '1.0-SNAPSHOT' with X.Y.Z[-<alpha|beta>] Commit with release version changes git commit -m "tag for new release' Git tag and push git tag vX.Y.Z && git push origin --tags Build plugin with X.Y.Z[-<alpha|beta>] version gradle buildPlugin Download github-release tool for github release go get -v -u github.com/aktau/github-release Make X.Y.Z release $GOPATH/bin/github-release release -u aerogear -r "$REPO_NAME" -p -t "v${ARTIFACT_VERSION}-${ARTIFACT_BUILD}" -d "$RELEASE_DESC" -n "$RELEASE_NAME" Upload artifacts with X.Y.Z release $GOPATH/bin/github-release -v upload -u aerogear -r "$REPO_NAME" -t "v${ARTIFACT_VERSION}-${ARTIFACT_BUILD}" -n "${ARTIFACT_FILE_NAME}" -f "${ARTIFACT_FILE_PATH}"
ADDITIONAL: Add CHANGELOG to plugin.xml file
{code}
Add clear instructions in the README how to install the plugin and try it out |
|