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 67eb8bef..264cdc2a 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,10 @@ import com.google.inject.Inject import java.io.File class Git @Inject constructor() { - fun maybeTagRelease(project: Project, uploadResult: TaskResult, auto: Boolean, tag: String, message: String) : TaskResult { + fun maybeTagRelease(project: Project, uploadResult: TaskResult, auto: Boolean, annotated: Boolean, tag: String, message: String) : TaskResult { val result = if (uploadResult.success && auto) { - val tagSuccess = tagRelease(project, auto, tag, message) + val tagSuccess = tagRelease(project, auto, annotated, tag, message) if (! tagSuccess) { TaskResult(false, "Couldn't tag the project") } else { @@ -21,7 +21,7 @@ class Git @Inject constructor() { return result } - private fun tagRelease(project: Project, auto: Boolean, tag: String, message: String) : Boolean { + private fun tagRelease(project: Project, auto: Boolean, annotated: 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\"") @@ -31,7 +31,7 @@ class Git @Inject constructor() { .findGitDir() .build() val git = org.eclipse.jgit.api.Git(repo) - val ref = git.tag().setName(version).setMessage(message).call() + val ref = git.tag().setAnnotated(annotated).setName(version).setMessage(message).call() git.push().setPushTags().call() true } catch(ex: Exception) { 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 5a442893..a7d13dce 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, auto, tag, message) + return git.maybeTagRelease(project, uploadResult, auto, annotated, tag, message) } } else { return TaskResult() @@ -219,6 +219,9 @@ data class AutoGitTagConfig(val project: Project) { @Directive var auto: Boolean = true + @Directive + var annotated: Boolean = false + @Directive var tag : String = project.version!!