mirror of
https://github.com/fnproject/fn.git
synced 2022-10-28 21:29:17 +03:00
37
fn/bump.go
37
fn/bump.go
@@ -59,24 +59,11 @@ func (b *bumpcmd) bump(c *cli.Context) error {
|
||||
return err
|
||||
}
|
||||
|
||||
funcfile.Name = cleanImageName(funcfile.Name)
|
||||
if funcfile.Version == "" {
|
||||
funcfile.Version = initialVersion
|
||||
}
|
||||
|
||||
s, err := storage.NewVersionStorage("local", funcfile.Version)
|
||||
funcfile, err = bumpversion(*funcfile)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
version := bumper.NewSemverBumper(s, "")
|
||||
newver, err := version.BumpPatchVersion("", "")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
funcfile.Version = newver.String()
|
||||
|
||||
if err := storefuncfile(fn, funcfile); err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -85,6 +72,28 @@ func (b *bumpcmd) bump(c *cli.Context) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func bumpversion(funcfile funcfile) (*funcfile, error) {
|
||||
funcfile.Name = cleanImageName(funcfile.Name)
|
||||
if funcfile.Version == "" {
|
||||
funcfile.Version = initialVersion
|
||||
return &funcfile, nil
|
||||
}
|
||||
|
||||
s, err := storage.NewVersionStorage("local", funcfile.Version)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
version := bumper.NewSemverBumper(s, "")
|
||||
newver, err := version.BumpPatchVersion("", "")
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
funcfile.Version = newver.String()
|
||||
return &funcfile, nil
|
||||
}
|
||||
|
||||
func cleanImageName(name string) string {
|
||||
if i := strings.Index(name, ":"); i != -1 {
|
||||
name = name[:i]
|
||||
|
||||
22
fn/common.go
22
fn/common.go
@@ -23,17 +23,31 @@ func verbwriter(verbose bool) io.Writer {
|
||||
return verbwriter
|
||||
}
|
||||
|
||||
func buildfunc(verbwriter io.Writer, path string) (*funcfile, error) {
|
||||
funcfile, err := parsefuncfile(path)
|
||||
func buildfunc(verbwriter io.Writer, fn string) (*funcfile, error) {
|
||||
funcfile, err := parsefuncfile(fn)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if err := localbuild(verbwriter, path, funcfile.Build); err != nil {
|
||||
if funcfile.Version == "" {
|
||||
funcfile, err = bumpversion(*funcfile)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if err := storefuncfile(fn, funcfile); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
funcfile, err = parsefuncfile(fn)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
if err := localbuild(verbwriter, fn, funcfile.Build); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if err := dockerbuild(verbwriter, path, funcfile); err != nil {
|
||||
if err := dockerbuild(verbwriter, fn, funcfile); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user