Files
lookbuilding/semver.go

45 lines
629 B
Go

package main
import (
//"fmt"
"regexp"
"github.com/coreos/go-semver/semver"
)
var (
rxSemVerPrefix = regexp.MustCompile(`^[^\d]*`)
)
type SemVerTag struct {
prefix string
version semver.Version
}
// Return a
// Returns nil if the tag did not parse as semver
func parseTagAsSemVer(tag string) *SemVerTag {
var prefix string
loc := rxSemVerPrefix.FindStringIndex(tag)
if loc != nil {
prefix = tag[:loc[1]]
tag = tag[loc[1]:]
}
version, err := semver.NewVersion(tag)
if err != nil {
return nil
}
svt := SemVerTag{
prefix,
*version,
}
return &svt
}
func (SemVerTag) asTag() string {
return ""
}