From 1395393b9be97d4d3656ad7570157a0668bbeb07 Mon Sep 17 00:00:00 2001 From: C Cirello Date: Tue, 15 Nov 2016 01:52:58 +0100 Subject: [PATCH] fnctl: code cleanup (#281) --- fnctl/build.go | 7 ++++--- fnctl/bump.go | 31 +++++-------------------------- fnctl/bump_test.go | 29 ----------------------------- fnctl/common.go | 19 +++++-------------- fnctl/init.go | 3 +++ fnctl/lambda.go | 3 +-- fnctl/publish.go | 12 +++--------- fnctl/push.go | 7 ++++--- fnctl/run.go | 3 +-- 9 files changed, 26 insertions(+), 88 deletions(-) delete mode 100644 fnctl/bump_test.go diff --git a/fnctl/build.go b/fnctl/build.go index c8b5979d0..de68b5dd6 100644 --- a/fnctl/build.go +++ b/fnctl/build.go @@ -2,7 +2,6 @@ package main import ( "fmt" - "io" "os" "github.com/urfave/cli" @@ -28,18 +27,20 @@ func (b *buildcmd) scan(c *cli.Context) error { return nil } -func (b *buildcmd) walker(path string, info os.FileInfo, err error, w io.Writer) error { - walker(path, info, err, w, b.build) +func (b *buildcmd) walker(path string, info os.FileInfo, err error) error { + walker(path, info, err, b.build) return nil } // build will take the found valid function and build it func (b *buildcmd) build(path string) error { fmt.Fprintln(b.verbwriter, "building", path) + ff, err := b.buildfunc(path) if err != nil { return err } + fmt.Printf("Function %v built successfully.\n", ff.FullName()) return nil } diff --git a/fnctl/bump.go b/fnctl/bump.go index 2084c371c..19f3d7ded 100644 --- a/fnctl/bump.go +++ b/fnctl/bump.go @@ -2,7 +2,6 @@ package main import ( "fmt" - "io" "os" "strings" @@ -35,8 +34,8 @@ func (b *bumpcmd) scan(c *cli.Context) error { return nil } -func (b *bumpcmd) walker(path string, info os.FileInfo, err error, w io.Writer) error { - walker(path, info, err, w, b.bump) +func (b *bumpcmd) walker(path string, info os.FileInfo, err error) error { + walker(path, info, err, b.bump) return nil } @@ -67,10 +66,10 @@ func (b *bumpcmd) bump(path string) error { funcfile.Version = newver.String() - err = storefuncfile(path, funcfile) - if err != nil { + if err := storefuncfile(path, funcfile); err != nil { return err } + fmt.Println("Bumped to version", funcfile.Version) return nil } @@ -79,26 +78,6 @@ func cleanImageName(name string) string { if i := strings.Index(name, ":"); i != -1 { name = name[:i] } + return name } -func imageversion(image string) (name, ver string) { - tagpos := strings.Index(image, ":") - if tagpos == -1 { - return image, initialVersion - } - - imgname, imgver := image[:tagpos], image[tagpos+1:] - - s, err := storage.NewVersionStorage("local", imgver) - if err != nil { - return imgname, initialVersion - } - - version := bumper.NewSemverBumper(s, "") - v, err := version.GetCurrentVersion() - if err != nil { - return imgname, initialVersion - } - - return imgname, v.String() -} diff --git a/fnctl/bump_test.go b/fnctl/bump_test.go deleted file mode 100644 index 77d3da1be..000000000 --- a/fnctl/bump_test.go +++ /dev/null @@ -1,29 +0,0 @@ -package main - -import "testing" - -func TestImageversion(t *testing.T) { - type args struct { - image string - } - tests := []struct { - name string - args args - wantName string - wantVer string - }{ - {"tag absent", args{"owner/imagename"}, "owner/imagename", initialVersion}, - {"non semver tag", args{"owner/imagename:tag"}, "owner/imagename", "0.0.1"}, - {"semver tag (M.m.p)", args{"owner/imagename:0.0.1"}, "owner/imagename", "0.0.1"}, - {"semver tag (vM.m.p)", args{"owner/imagename:v0.0.1"}, "owner/imagename", "0.0.1"}, - } - for _, tt := range tests { - gotName, gotVer := imageversion(tt.args.image) - if gotName != tt.wantName { - t.Errorf("%q. imageversion() gotName = %v, want %v", tt.name, gotName, tt.wantName) - } - if gotVer != tt.wantVer { - t.Errorf("%q. imageversion() gotVer = %v, want %v", tt.name, gotVer, tt.wantVer) - } - } -} diff --git a/fnctl/common.go b/fnctl/common.go index 2f0c9f8e7..ec58fff8c 100644 --- a/fnctl/common.go +++ b/fnctl/common.go @@ -10,7 +10,6 @@ import ( "os/exec" "path/filepath" "strings" - "text/tabwriter" "text/template" "time" @@ -33,12 +32,9 @@ func isFuncfile(path string, info os.FileInfo) bool { return false } -func walker(path string, info os.FileInfo, err error, w io.Writer, f func(path string) error) { - fmt.Fprint(w, path, "\t") +func walker(path string, info os.FileInfo, err error, f func(path string) error) { if err := f(path); err != nil { - fmt.Fprintln(w, err) - } else { - // fmt.Fprintln(w, "done") + fmt.Fprintln(os.Stderr, path, err) } } @@ -78,7 +74,7 @@ func (c *commoncmd) flags() []cli.Flag { } } -func (c *commoncmd) scan(walker func(path string, info os.FileInfo, err error, w io.Writer) error) { +func (c *commoncmd) scan(walker func(path string, info os.FileInfo, err error) error) { c.verbwriter = ioutil.Discard if c.verbose { c.verbwriter = os.Stderr @@ -86,11 +82,7 @@ func (c *commoncmd) scan(walker func(path string, info os.FileInfo, err error, w var walked bool - w := tabwriter.NewWriter(os.Stdout, 0, 8, 1, ' ', 0) - // fmt.Fprint(w, "path", "\t", "result", "\n") - err := filepath.Walk(c.wd, func(path string, info os.FileInfo, err error) error { - // fmt.Println("walking", info.Name()) if !c.recursively && path != c.wd && info.IsDir() { return filepath.SkipDir } @@ -103,7 +95,7 @@ func (c *commoncmd) scan(walker func(path string, info os.FileInfo, err error, w return nil } - e := walker(path, info, err, w) + e := walker(path, info, err) now := time.Now() os.Chtimes(path, now, now) walked = true @@ -117,8 +109,6 @@ func (c *commoncmd) scan(walker func(path string, info os.FileInfo, err error, w fmt.Println("No function file found.") return } - - w.Flush() } // Theory of operation: this takes an optimistic approach to detect whether a @@ -146,6 +136,7 @@ func isstale(path string) bool { } return nil }) + return err != nil } diff --git a/fnctl/init.go b/fnctl/init.go index 8eb14892c..a97c928f5 100644 --- a/fnctl/init.go +++ b/fnctl/init.go @@ -98,6 +98,7 @@ func (a *initFnCmd) init(c *cli.Context) error { if err := encodeFuncfileYAML("func.yaml", ff); err != nil { return err } + fmt.Println("func.yaml created.") return nil } @@ -149,6 +150,7 @@ func detectRuntime(path string) (runtime string, err error) { return runtime, nil } } + return "", fmt.Errorf("no supported files found to guess runtime, please set runtime explicitly with --runtime flag") } @@ -157,5 +159,6 @@ func detectEntrypoint(runtime string) (string, error) { if err != nil { return "", err } + return helper.Entrypoint(), nil } diff --git a/fnctl/lambda.go b/fnctl/lambda.go index f3925f558..c2967d7e6 100644 --- a/fnctl/lambda.go +++ b/fnctl/lambda.go @@ -12,8 +12,6 @@ import ( "path/filepath" "strings" - yaml "gopkg.in/yaml.v2" - "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/credentials" "github.com/aws/aws-sdk-go/aws/session" @@ -21,6 +19,7 @@ import ( "github.com/docker/docker/pkg/jsonmessage" lambdaImpl "github.com/iron-io/lambda/lambda" "github.com/urfave/cli" + yaml "gopkg.in/yaml.v2" ) func init() { diff --git a/fnctl/publish.go b/fnctl/publish.go index 5c9b52196..40595fd0e 100644 --- a/fnctl/publish.go +++ b/fnctl/publish.go @@ -2,7 +2,6 @@ package main import ( "fmt" - "io" "net/http" "os" "os/exec" @@ -50,8 +49,8 @@ func (p *publishcmd) scan(c *cli.Context) error { return nil } -func (p *publishcmd) walker(path string, info os.FileInfo, err error, w io.Writer) error { - walker(path, info, err, w, p.publish) +func (p *publishcmd) walker(path string, info os.FileInfo, err error) error { + walker(path, info, err, p.publish) return nil } @@ -75,15 +74,10 @@ func (p *publishcmd) publish(path string) error { return err } - if err := p.route(path, funcfile); err != nil { - return err - } - - return nil + return p.route(path, funcfile) } func (p publishcmd) dockerpush(ff *funcfile) error { - fmt.Printf("Pushing function %v to Docker Hub.\n", ff.FullName()) cmd := exec.Command("docker", "push", ff.FullName()) cmd.Stderr = os.Stderr cmd.Stdout = os.Stdout diff --git a/fnctl/push.go b/fnctl/push.go index 15c2424b3..9cabba5dd 100644 --- a/fnctl/push.go +++ b/fnctl/push.go @@ -2,7 +2,6 @@ package main import ( "fmt" - "io" "os" functions "github.com/iron-io/functions_go" @@ -35,8 +34,8 @@ func (p *pushcmd) scan(c *cli.Context) error { return nil } -func (p *pushcmd) walker(path string, info os.FileInfo, err error, w io.Writer) error { - walker(path, info, err, w, p.push) +func (p *pushcmd) walker(path string, info os.FileInfo, err error) error { + walker(path, info, err, p.push) return nil } @@ -55,5 +54,7 @@ func (p *pushcmd) push(path string) error { if err := p.dockerpush(funcfile); err != nil { return err } + + fmt.Printf("Function %v pushed successfully to Docker Hub.\n", funcfile.FullName()) return nil } diff --git a/fnctl/run.go b/fnctl/run.go index 04b8716bf..549785247 100644 --- a/fnctl/run.go +++ b/fnctl/run.go @@ -40,9 +40,8 @@ func (r *runCmd) run(c *cli.Context) error { if err != nil { if _, ok := err.(*notFoundError); ok { return errors.New("error: image name is missing or no function file found") - } else { - return err } + return err } image = ff.FullName() }