Files
gitea-release-resource/versions.go
2018-12-16 19:17:03 -05:00

31 lines
529 B
Go

package resource
import (
"regexp"
)
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 ""
}