2021-09-03 21:07:02 +00:00
|
|
|
package misc
|
|
|
|
|
|
|
|
import (
|
|
|
|
"fmt"
|
2022-04-21 04:30:33 +00:00
|
|
|
"github.com/rocky-linux/srpmproc/pkg/data"
|
2022-05-05 02:25:07 +00:00
|
|
|
"path/filepath"
|
2021-09-03 21:07:02 +00:00
|
|
|
"regexp"
|
|
|
|
)
|
|
|
|
|
2022-04-21 04:30:33 +00:00
|
|
|
func GetTagImportRegex(pd *data.ProcessData) *regexp.Regexp {
|
2022-05-10 10:02:37 +00:00
|
|
|
branchRegex := regexp.QuoteMeta(fmt.Sprintf("%s%d%s", pd.ImportBranchPrefix, pd.Version, pd.BranchSuffix))
|
2022-04-21 05:25:44 +00:00
|
|
|
if !pd.StrictBranchMode {
|
2022-04-21 23:44:18 +00:00
|
|
|
branchRegex += "(?:.+|)"
|
2022-04-23 20:56:39 +00:00
|
|
|
} else {
|
|
|
|
branchRegex += "(?:-stream-.+|)"
|
2021-09-03 21:07:02 +00:00
|
|
|
}
|
2022-05-05 02:25:07 +00:00
|
|
|
|
2022-05-10 10:02:37 +00:00
|
|
|
initialVerRegex := regexp.QuoteMeta(filepath.Base(pd.RpmLocation)) + "-"
|
2022-05-05 02:25:07 +00:00
|
|
|
if pd.PackageVersion != "" {
|
2022-05-10 10:02:37 +00:00
|
|
|
initialVerRegex += regexp.QuoteMeta(pd.PackageVersion) + "-"
|
2022-05-05 02:25:07 +00:00
|
|
|
} else {
|
|
|
|
initialVerRegex += ".+-"
|
|
|
|
}
|
|
|
|
if pd.PackageRelease != "" {
|
2022-05-10 10:02:37 +00:00
|
|
|
initialVerRegex += regexp.QuoteMeta(pd.PackageRelease)
|
2022-05-05 02:25:07 +00:00
|
|
|
} else {
|
|
|
|
initialVerRegex += ".+"
|
|
|
|
}
|
|
|
|
|
2022-05-09 17:57:43 +00:00
|
|
|
regex := fmt.Sprintf("(?i)refs/tags/(imports/(%s)/(%s))", branchRegex, initialVerRegex)
|
2022-04-21 04:30:33 +00:00
|
|
|
|
|
|
|
return regexp.MustCompile(regex)
|
2021-09-03 21:07:02 +00:00
|
|
|
}
|