Add package semver

Signed-off-by: Jan Tytgat <jan.tytgat@corelayer.eu>
This commit is contained in:
Jan Tytgat
2025-04-15 09:36:26 +02:00
parent 30a3122202
commit 41bf5b86ea
5 changed files with 390 additions and 0 deletions

23
pkg/semver/metadata.go Normal file
View File

@ -0,0 +1,23 @@
package semver
import (
"fmt"
"regexp"
)
const (
validMetadata = `^(?P<commit>[0-9a-zA-Z]{8}).(?P<date>[0-9]{8})$`
)
var regexMetadata = regexp.MustCompile(validMetadata)
type Metadata string
func SplitMetadata(m Metadata) (string, string, error) {
if !regexMetadata.MatchString(string(m)) {
return "", "", fmt.Errorf("invalid metadata: %s", m)
}
match := regexMetadata.FindStringSubmatch(string(m))
return match[1], match[2], nil
}