From b944039fdcd47bde5be9d8e9d423f9f27c1207d5 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Wed, 10 May 2017 11:46:41 -0700 Subject: [PATCH] Added push parameter to autoGitTag. --- .../src/main/kotlin/com/beust/kobalt/misc/Git.kt | 11 +++++++---- .../com/beust/kobalt/plugin/publish/PublishPlugin.kt | 5 ++++- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/misc/Git.kt b/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/misc/Git.kt index f8892390..cf6b5885 100644 --- a/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/misc/Git.kt +++ b/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/misc/Git.kt @@ -6,10 +6,11 @@ import com.google.inject.Inject import java.io.File class Git @Inject constructor() { - fun maybeTagRelease(project: Project, uploadResult: TaskResult, enabled: Boolean, annotated: Boolean, tag: String, message: String) : TaskResult { + fun maybeTagRelease(project: Project, uploadResult: TaskResult, enabled: Boolean, annotated: Boolean, + push: Boolean, tag: String, message: String) : TaskResult { val result = if (uploadResult.success && enabled) { - val tagSuccess = tagRelease(project, annotated, tag, message) + val tagSuccess = tagRelease(project, annotated, push, tag, message) if (! tagSuccess) { TaskResult(false, errorMessage = "Couldn't tag the project") } else { @@ -21,7 +22,7 @@ class Git @Inject constructor() { return result } - private fun tagRelease(project: Project, annotated: Boolean, tag: String, message: String) : Boolean { + private fun tagRelease(project: Project, annotated: Boolean, push: Boolean, tag: String, message: String) : Boolean { val version = if (tag.isNullOrBlank()) project.version else tag val success = try { log(2, "Tagging this release as \"$version\"") @@ -37,7 +38,9 @@ class Git @Inject constructor() { } else { git.tag().setName(version).setMessage(message).call() } - git.push().setPushTags().call() + if (push) { + git.push().setPushTags().call() + } true } catch(ex: Exception) { warn("Couldn't create tag ${version}: ${ex.message}", ex) diff --git a/src/main/kotlin/com/beust/kobalt/plugin/publish/PublishPlugin.kt b/src/main/kotlin/com/beust/kobalt/plugin/publish/PublishPlugin.kt index 3af3b402..c5878368 100644 --- a/src/main/kotlin/com/beust/kobalt/plugin/publish/PublishPlugin.kt +++ b/src/main/kotlin/com/beust/kobalt/plugin/publish/PublishPlugin.kt @@ -47,7 +47,7 @@ class PublishPlugin @Inject constructor(val files: KFiles, val factory: PomGener private fun autoGitTag(project: Project, uploadResult: TaskResult, config: AutoGitTagConfig?) : TaskResult { if (config != null) { with(config) { - return git.maybeTagRelease(project, uploadResult, enabled, annotated, tag, message) + return git.maybeTagRelease(project, uploadResult, enabled, annotated, push, tag, message) } } else { return TaskResult() @@ -222,6 +222,9 @@ data class AutoGitTagConfig(val project: Project) { @Directive var annotated: Boolean = false + @Directive + var push: Boolean = true + @Directive var tag : String = project.version!!