refactor: interface for versioning strategy

This commit is contained in:
Julian Tölle 2024-11-15 18:28:14 +01:00
parent 11f8403241
commit f5ab3e143d
5 changed files with 15 additions and 12 deletions

View file

@ -10,9 +10,11 @@ import (
"github.com/apricote/releaser-pleaser/internal/git"
)
var _ Strategy = SemVerNextVersion
var SemVer Strategy = semVer{}
func SemVerNextVersion(r git.Releases, versionBump VersionBump, nextVersionType NextVersionType) (string, error) {
type semVer struct{}
func (s semVer) NextVersion(r git.Releases, versionBump VersionBump, nextVersionType NextVersionType) (string, error) {
latest, err := parseSemverWithDefault(r.Latest)
if err != nil {
return "", fmt.Errorf("failed to parse latest version: %w", err)