increment target version
This commit is contained in:
parent
a0b6a435a7
commit
adddfad2b7
|
@ -6,6 +6,8 @@ package gitpb
|
||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
|
"regexp"
|
||||||
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
"unicode"
|
"unicode"
|
||||||
|
|
||||||
|
@ -217,3 +219,73 @@ func trimNonNumericFromStart(s string) string {
|
||||||
}
|
}
|
||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func normalizeVersion(s string) string {
|
||||||
|
// reg, err := regexp.Compile("[^a-zA-Z0-9]+")
|
||||||
|
parts := strings.Split(s, "-")
|
||||||
|
if len(parts) == 0 {
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
reg, err := regexp.Compile("[^0-9.]+")
|
||||||
|
if err != nil {
|
||||||
|
log.Log(GITPBWARN, "normalizeVersion() regexp.Compile() ERROR =", err)
|
||||||
|
return parts[0]
|
||||||
|
}
|
||||||
|
clean := reg.ReplaceAllString(parts[0], "")
|
||||||
|
log.Log(GITPB, "normalizeVersion() s =", clean)
|
||||||
|
return clean
|
||||||
|
}
|
||||||
|
|
||||||
|
// golang doesn't seem to really support v0.1 and seems to want v0.1.0
|
||||||
|
// todo: confirm this
|
||||||
|
func splitVersion(version string) (a, b, c string) {
|
||||||
|
tmp := normalizeVersion(version)
|
||||||
|
parts := strings.Split(tmp, ".")
|
||||||
|
switch len(parts) {
|
||||||
|
case 1:
|
||||||
|
return parts[0], "", ""
|
||||||
|
case 2:
|
||||||
|
return parts[0], parts[1], ""
|
||||||
|
default:
|
||||||
|
return parts[0], parts[1], parts[2]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// changes the target minor. v0.1.3 becomes v0.2.0
|
||||||
|
func (repo *Repo) IncrementTargetMinor() {
|
||||||
|
lasttag := repo.GetLastTag()
|
||||||
|
var major, minor, revision string
|
||||||
|
major, minor, revision = splitVersion(lasttag)
|
||||||
|
|
||||||
|
olda, _ := strconv.Atoi(major)
|
||||||
|
oldb, _ := strconv.Atoi(minor)
|
||||||
|
oldc, _ := strconv.Atoi(revision)
|
||||||
|
|
||||||
|
oldb += 1
|
||||||
|
oldc = 0
|
||||||
|
|
||||||
|
newa := strconv.Itoa(olda)
|
||||||
|
newb := strconv.Itoa(oldb)
|
||||||
|
newc := strconv.Itoa(oldc)
|
||||||
|
|
||||||
|
repo.SetTargetVersion("v" + newa + "." + newb + "." + newc)
|
||||||
|
}
|
||||||
|
|
||||||
|
// changes the target revision. v0.1.3 becomes v0.1.4
|
||||||
|
func (repo *Repo) IncrementTargetRevision() {
|
||||||
|
lasttag := repo.GetLastTag()
|
||||||
|
var major, minor, revision string
|
||||||
|
major, minor, revision = splitVersion(lasttag)
|
||||||
|
|
||||||
|
olda, _ := strconv.Atoi(major)
|
||||||
|
oldb, _ := strconv.Atoi(minor)
|
||||||
|
oldc, _ := strconv.Atoi(revision)
|
||||||
|
|
||||||
|
oldc += 1
|
||||||
|
|
||||||
|
newa := strconv.Itoa(olda)
|
||||||
|
newb := strconv.Itoa(oldb)
|
||||||
|
newc := strconv.Itoa(oldc)
|
||||||
|
|
||||||
|
repo.SetTargetVersion("v" + newa + "." + newb + "." + newc)
|
||||||
|
}
|
||||||
|
|
|
@ -83,7 +83,7 @@ func (repo *Repo) PublishedLen() int {
|
||||||
}
|
}
|
||||||
|
|
||||||
// returns true if the last published
|
// returns true if the last published
|
||||||
func (all *Repos) GoDepsChanged(repo *Repo) (bool, error) {
|
func (all *Repos) GoDepsChangedOld(repo *Repo) (bool, error) {
|
||||||
var upgrade bool = false
|
var upgrade bool = false
|
||||||
if repo.GoDeps == nil {
|
if repo.GoDeps == nil {
|
||||||
repo.RedoGoMod()
|
repo.RedoGoMod()
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
package gitpb
|
package gitpb
|
||||||
|
|
||||||
|
//
|
||||||
|
// DOES NOT MODIFY FILES
|
||||||
|
//
|
||||||
// only reads in the go.mod file. doesn't change anything
|
// only reads in the go.mod file. doesn't change anything
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
|
Loading…
Reference in New Issue