From 6b60b2c8137ace8351a135dd09835c39a2248a3e Mon Sep 17 00:00:00 2001 From: TP Honey Date: Wed, 7 Dec 2022 11:44:12 +0000 Subject: [PATCH] (maint) cleaning build up with move to harness --- .gitignore | 2 - cmd/drone-download/main.go | 70 ------------------------- cmd/drone-download/config.go => main.go | 60 ++++++++++++++++++++- plugin/impl.go | 2 +- 4 files changed, 60 insertions(+), 74 deletions(-) delete mode 100644 cmd/drone-download/main.go rename cmd/drone-download/config.go => main.go (59%) diff --git a/.gitignore b/.gitignore index ea3d9d2..a0ace4a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,3 @@ /release/ /drone-download* - coverage.out -.drone.yml diff --git a/cmd/drone-download/main.go b/cmd/drone-download/main.go deleted file mode 100644 index 45c35c0..0000000 --- a/cmd/drone-download/main.go +++ /dev/null @@ -1,70 +0,0 @@ -// Copyright (c) 2020, the Drone Plugins project authors. -// Please see the AUTHORS file for details. All rights reserved. -// Use of this source code is governed by an Apache 2.0 license that can be -// found in the LICENSE file. - -// DO NOT MODIFY THIS FILE DIRECTLY - -package main - -import ( - "os" - - "github.com/drone-plugins/drone-download/plugin" - "github.com/drone-plugins/drone-plugin-lib/errors" - "github.com/drone-plugins/drone-plugin-lib/urfave" - "github.com/joho/godotenv" - "github.com/urfave/cli/v2" -) - -var version = "unknown" - -func main() { - settings := &plugin.Settings{} - - if _, err := os.Stat("/run/drone/env"); err == nil { - godotenv.Overload("/run/drone/env") - } - - app := &cli.App{ - Name: "drone-download", - Usage: "download a file", - Version: version, - Flags: append(settingsFlags(settings), urfave.Flags()...), - Action: run(settings), - } - - if err := app.Run(os.Args); err != nil { - errors.HandleExit(err) - } -} - -func run(settings *plugin.Settings) cli.ActionFunc { - return func(ctx *cli.Context) error { - urfave.LoggingFromContext(ctx) - - plugin := plugin.New( - *settings, - urfave.PipelineFromContext(ctx), - urfave.NetworkFromContext(ctx), - ) - - if err := plugin.Validate(); err != nil { - if e, ok := err.(errors.ExitCoder); ok { - return e - } - - return errors.ExitMessagef("validation failed: %w", err) - } - - if err := plugin.Execute(); err != nil { - if e, ok := err.(errors.ExitCoder); ok { - return e - } - - return errors.ExitMessagef("execution failed: %w", err) - } - - return nil - } -} diff --git a/cmd/drone-download/config.go b/main.go similarity index 59% rename from cmd/drone-download/config.go rename to main.go index dcde2c5..c4c302e 100644 --- a/cmd/drone-download/config.go +++ b/main.go @@ -3,14 +3,72 @@ // Use of this source code is governed by an Apache 2.0 license that can be // found in the LICENSE file. +// DO NOT MODIFY THIS FILE DIRECTLY + package main import ( + "os" + "github.com/drone-plugins/drone-download/plugin" + "github.com/drone-plugins/drone-plugin-lib/errors" + "github.com/drone-plugins/drone-plugin-lib/urfave" + "github.com/joho/godotenv" "github.com/urfave/cli/v2" ) -// settingsFlags has the cli.Flags for the plugin.Settings. +var version = "unknown" + +func main() { + settings := &plugin.Settings{} + + if _, err := os.Stat("/run/drone/env"); err == nil { + _ = godotenv.Overload("/run/drone/env") + } + + app := &cli.App{ + Name: "drone-download", + Usage: "download a file", + Version: version, + Flags: append(settingsFlags(settings), urfave.Flags()...), + Action: run(settings), + } + + if err := app.Run(os.Args); err != nil { + errors.HandleExit(err) + } +} + +func run(settings *plugin.Settings) cli.ActionFunc { + return func(ctx *cli.Context) error { + urfave.LoggingFromContext(ctx) + + plugin := plugin.New( + *settings, + urfave.PipelineFromContext(ctx), + urfave.NetworkFromContext(ctx), + ) + + if err := plugin.Validate(); err != nil { + if e, ok := err.(errors.ExitCoder); ok { + return e + } + + return errors.ExitMessagef("validation failed: %w", err) + } + + if err := plugin.Execute(); err != nil { + if e, ok := err.(errors.ExitCoder); ok { + return e + } + + return errors.ExitMessagef("execution failed: %w", err) + } + + return nil + } +} + func settingsFlags(settings *plugin.Settings) []cli.Flag { return []cli.Flag{ &cli.StringFlag{ diff --git a/plugin/impl.go b/plugin/impl.go index b58b0ea..ada17b3 100644 --- a/plugin/impl.go +++ b/plugin/impl.go @@ -128,7 +128,7 @@ func (p *Plugin) Execute() error { if exp != "" { logrus.WithField("hash", alg).Info("Computing checksum") - target.Seek(0, 0) + _, _ = target.Seek(0, 0) if _, err := io.Copy(h, target); err != nil { defer os.Remove(target.Name())