From: Alexander Goussas Date: Wed, 22 Oct 2025 20:29:47 +0000 (-0500) Subject: feat: add changelog parser interface X-Git-Url: http://git.frustrated-labs.net/?a=commitdiff_plain;h=6d14a89cecab6a264e016661a57393fcda9b8d55;p=gradle-changelog-plugin.git feat: add changelog parser interface --- diff --git a/changelog-plugin/src/main/kotlin/io/github/aloussase/changelog/Changelog.kt b/changelog-plugin/src/main/kotlin/io/github/aloussase/changelog/Changelog.kt new file mode 100644 index 0000000..22a5fd5 --- /dev/null +++ b/changelog-plugin/src/main/kotlin/io/github/aloussase/changelog/Changelog.kt @@ -0,0 +1,5 @@ +package io.github.aloussase.changelog + +data class Changelog( + val entries: List +) diff --git a/changelog-plugin/src/main/kotlin/io/github/aloussase/changelog/ChangelogEntry.kt b/changelog-plugin/src/main/kotlin/io/github/aloussase/changelog/ChangelogEntry.kt new file mode 100644 index 0000000..615decd --- /dev/null +++ b/changelog-plugin/src/main/kotlin/io/github/aloussase/changelog/ChangelogEntry.kt @@ -0,0 +1,8 @@ +package io.github.aloussase.changelog + +import io.github.aloussase.changelog.git.Commit + +data class ChangelogEntry( + val branchName: String, + val commit: Commit, +) diff --git a/changelog-plugin/src/main/kotlin/io/github/aloussase/changelog/git/Commit.kt b/changelog-plugin/src/main/kotlin/io/github/aloussase/changelog/git/Commit.kt new file mode 100644 index 0000000..817c74f --- /dev/null +++ b/changelog-plugin/src/main/kotlin/io/github/aloussase/changelog/git/Commit.kt @@ -0,0 +1,5 @@ +package io.github.aloussase.changelog.git + +data class Commit( + val message: String +) diff --git a/changelog-plugin/src/main/kotlin/io/github/aloussase/changelog/parser/ChangelogParser.kt b/changelog-plugin/src/main/kotlin/io/github/aloussase/changelog/parser/ChangelogParser.kt new file mode 100644 index 0000000..8bf9208 --- /dev/null +++ b/changelog-plugin/src/main/kotlin/io/github/aloussase/changelog/parser/ChangelogParser.kt @@ -0,0 +1,12 @@ +package io.github.aloussase.changelog.parser + +import io.github.aloussase.changelog.Changelog + +interface ChangelogParser { + + /** + * Parse the provided document as a Changelog. + */ + fun parse(doc: String): Result + +} diff --git a/changelog-plugin/src/main/kotlin/io/github/aloussase/changelog/parser/MarkdownChangelogParser.kt b/changelog-plugin/src/main/kotlin/io/github/aloussase/changelog/parser/MarkdownChangelogParser.kt new file mode 100644 index 0000000..b016edf --- /dev/null +++ b/changelog-plugin/src/main/kotlin/io/github/aloussase/changelog/parser/MarkdownChangelogParser.kt @@ -0,0 +1,12 @@ +package io.github.aloussase.changelog.parser + +import io.github.aloussase.changelog.Changelog + +/** + * A ChangelogParser that assumes it's input to be a Markdown document. + */ +class MarkdownChangelogParser : ChangelogParser { + override fun parse(doc: String): Result { + TODO("Not yet implemented") + } +}