package resource import ( "regexp" "code.gitea.io/sdk/gitea" ) var defaultTagFilter = "^v?([^v].*)" type versionParser struct { re *regexp.Regexp } func newVersionParser(filter string) (versionParser, error) { if filter == "" { filter = defaultTagFilter } re, err := regexp.Compile(filter) if err != nil { return versionParser{}, err } return versionParser{re: re}, nil } func (vp *versionParser) parse(tag string) string { matches := vp.re.FindStringSubmatch(tag) if len(matches) > 0 { return matches[len(matches)-1] } return "" } func versionFromTag(release *gitea.Release) Version { return Version{ Tag: release.TagName, CommitSHA: release.Target, } }