From 63215434e6886845be03429dc6bd2ce61f83846f Mon Sep 17 00:00:00 2001 From: Alexander Goussas Date: Fri, 24 Oct 2025 10:30:17 -0500 Subject: [PATCH] feat: add git command executors --- .../aloussase/changelog/git/AbstractGitCommand.kt | 15 +++++++++++++++ .../changelog/git/GetCurrentReleaseCommand.kt | 6 ++++++ .../github/aloussase/changelog/git/GitCommand.kt | 9 +++++++++ 3 files changed, 30 insertions(+) create mode 100644 changelog-plugin/src/main/kotlin/io/github/aloussase/changelog/git/AbstractGitCommand.kt create mode 100644 changelog-plugin/src/main/kotlin/io/github/aloussase/changelog/git/GetCurrentReleaseCommand.kt create mode 100644 changelog-plugin/src/main/kotlin/io/github/aloussase/changelog/git/GitCommand.kt diff --git a/changelog-plugin/src/main/kotlin/io/github/aloussase/changelog/git/AbstractGitCommand.kt b/changelog-plugin/src/main/kotlin/io/github/aloussase/changelog/git/AbstractGitCommand.kt new file mode 100644 index 0000000..13ceb33 --- /dev/null +++ b/changelog-plugin/src/main/kotlin/io/github/aloussase/changelog/git/AbstractGitCommand.kt @@ -0,0 +1,15 @@ +package io.github.aloussase.changelog.git + +abstract class AbstractGitCommand : GitCommand { + + override fun execute(): String { + val runtime = Runtime.getRuntime() + val ary = arrayOf("/bin/sh", "-c", commandLine) + val process = runtime.exec(ary) + process.waitFor() + return process.inputReader().use { br -> + br.readText().trim() + } + } + +} diff --git a/changelog-plugin/src/main/kotlin/io/github/aloussase/changelog/git/GetCurrentReleaseCommand.kt b/changelog-plugin/src/main/kotlin/io/github/aloussase/changelog/git/GetCurrentReleaseCommand.kt new file mode 100644 index 0000000..3bea08d --- /dev/null +++ b/changelog-plugin/src/main/kotlin/io/github/aloussase/changelog/git/GetCurrentReleaseCommand.kt @@ -0,0 +1,6 @@ +package io.github.aloussase.changelog.git + +class GetCurrentReleaseCommand : AbstractGitCommand() { + override val commandLine: String + get() = "git tag | tail -n1" +} diff --git a/changelog-plugin/src/main/kotlin/io/github/aloussase/changelog/git/GitCommand.kt b/changelog-plugin/src/main/kotlin/io/github/aloussase/changelog/git/GitCommand.kt new file mode 100644 index 0000000..eb18e17 --- /dev/null +++ b/changelog-plugin/src/main/kotlin/io/github/aloussase/changelog/git/GitCommand.kt @@ -0,0 +1,9 @@ +package io.github.aloussase.changelog.git + +interface GitCommand { + + val commandLine: String + + fun execute(): String + +} -- 2.43.0