gradle-github-plugin
You can fully automate releases via gradle-github-plugin.
Supported features
- Create a release
- Upload your files and/or directories!!!
💥 💥 💥
Usage
There are two ways.
1. jcenter
Edit your build.gradle
file.
Add jcenter()
, classpath ...
to repositories
, dependencies
in buidlscript
respectively.
buildscript {
repositories {
jcenter()
}
dependencies {
...
classpath 'co.riiid:gradle-github-plugin:X.Y.Z'
...
}
}
And add apply plugin.
apply plugin: 'co.riiid.gradle'
2. plugins.gradle.org (easy)
Plugin mechanism introduced in Gradle 2.1+
plugins {
id "co.riiid.gradle" version "X.Y.Z"
}
Add github
configuration and set properties if you've done with 1 or 2.
Supported Properties
Name | Type | Description |
---|---|---|
baseUrl | String | Optional. The URL of Github. You can change this url as yours if you use Github Enterprise. (Default: https://api.github.com) |
owner | String | Required. The id of your Github. |
repo | String | Required. The name of your Github's repository. |
token | String | Required. Github access token. Generate yours in Settings/Tokens |
tagName | String | Required. The name of the tag. |
targetCommitish | String | Default is master. Specifies the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Unused if the Git tag already exists. Default: the repository’s default branch (usually master). |
name | String | Optional. The name of the release. |
body | String | Optional. Text describing the contents of the tag. |
prerelease | boolean | Optional. true to create a draft (unpublished) release, false to create a published one. Default: false |
draft | boolean | Optional. true to identify the release as a prerelease. false to identify the release as a full release. Default: false |
Example
github {
owner = 'riiid'
repo = 'gradle-github-plugin'
token = 'XXXXXXXXXXXXXXXXXXXXX'
tagName = '0.1.0'
targetCommitish = 'master'
name = 'v0.1.0'
body = """# Project Name Write `release note` here. """
assets = [
'app/build/outputs/apk/app-release.apk',
'app/build/outputs/mapping/release/mapping.txt',
'app/build/outputs',
...
]
}
If an asset is directory, gradle-github-plugin
will zip the directory, <dir-name>.zip
by name.
For example, app/build/outputs
is compressed into app/build/outputs.zip
. The file will be removed after uploaded.
Finally you can see githubRelease
task
$ ./gradlew tasks | grep githubRelease githubRelease
Run the task!!!
$ ./gradlew githubRelease
Good luck!!!