Skip to content

Commit 329ee72

Browse files
committed
Automate creating GitHub release
1 parent 3fb761e commit 329ee72

File tree

1 file changed

+39
-0
lines changed

1 file changed

+39
-0
lines changed

plugin/build.gradle.kts

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,15 @@ import java.util.jar.JarFile
77
plugins {
88
kotlin("jvm") version(libs.versions.kotlin)
99
id("com.gradle.plugin-publish") version "1.2.0"
10+
id("com.github.breadmoirai.github-release") version "2.4.1"
1011
signing
1112
groovy
1213
alias(libs.plugins.shadow.jar)
1314
}
1415

1516
val releaseVersion = loadReleaseVersion()
1617
val releaseNotes = loadReleaseNotes()
18+
val releaseTag = "v${releaseVersion}"
1719
val pluginGroup = "org.gradle"
1820
val pluginArtifactId = "github-dependency-graph-gradle-plugin"
1921

@@ -185,3 +187,40 @@ fun loadReleaseNotes():String {
185187
val releaseNotesFile = rootProject.layout.projectDirectory.file("release/changes.md")
186188
return providers.fileContents(releaseNotesFile).asText.map { it.trim() }.get()
187189
}
190+
191+
val createReleaseTag = tasks.register<CreateGitTag>("createReleaseTag") {
192+
tagName.set(releaseTag)
193+
}
194+
195+
githubRelease {
196+
setToken(System.getenv("GITHUB_DEPENDENCY_GRAPH_GIT_TOKEN") ?: "")
197+
owner.set("gradle")
198+
repo.set("github-dependency-extractor")
199+
releaseName.set(releaseVersion)
200+
tagName.set(releaseTag)
201+
prerelease.set(true)
202+
body.set(releaseNotes)
203+
}
204+
205+
tasks.named("githubRelease").configure {
206+
dependsOn(createReleaseTag)
207+
}
208+
209+
abstract class CreateGitTag : DefaultTask() {
210+
211+
@get:Input abstract val tagName: Property<String>
212+
213+
@get:Inject abstract val execOperations: ExecOperations
214+
215+
@TaskAction
216+
fun action() {
217+
logger.info("Tagging HEAD as ${tagName.get()}")
218+
execOperations.exec {
219+
commandLine("git", "tag", "-f", tagName.get())
220+
}
221+
execOperations.exec {
222+
commandLine("git", "push", "origin", "-f", "--tags")
223+
}
224+
}
225+
}
226+

0 commit comments

Comments
 (0)