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
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
funcfile.Name = cleanImageName(funcfile.Name)
|
funcfile, err = bumpversion(*funcfile)
|
||||||
if funcfile.Version == "" {
|
|
||||||
funcfile.Version = initialVersion
|
|
||||||
}
|
|
||||||
|
|
||||||
s, err := storage.NewVersionStorage("local", funcfile.Version)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
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 {
|
if err := storefuncfile(fn, funcfile); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@@ -85,6 +72,28 @@ func (b *bumpcmd) bump(c *cli.Context) error {
|
|||||||
return nil
|
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 {
|
func cleanImageName(name string) string {
|
||||||
if i := strings.Index(name, ":"); i != -1 {
|
if i := strings.Index(name, ":"); i != -1 {
|
||||||
name = name[:i]
|
name = name[:i]
|
||||||
|
|||||||
22
fn/common.go
22
fn/common.go
@@ -23,17 +23,31 @@ func verbwriter(verbose bool) io.Writer {
|
|||||||
return verbwriter
|
return verbwriter
|
||||||
}
|
}
|
||||||
|
|
||||||
func buildfunc(verbwriter io.Writer, path string) (*funcfile, error) {
|
func buildfunc(verbwriter io.Writer, fn string) (*funcfile, error) {
|
||||||
funcfile, err := parsefuncfile(path)
|
funcfile, err := parsefuncfile(fn)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
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
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := dockerbuild(verbwriter, path, funcfile); err != nil {
|
if err := dockerbuild(verbwriter, fn, funcfile); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user