diff --git a/Gopkg.lock b/Gopkg.lock index 530456f..1988d04 100644 --- a/Gopkg.lock +++ b/Gopkg.lock @@ -216,6 +216,6 @@ [solve-meta] analyzer-name = "dep" analyzer-version = 1 - inputs-digest = "adf49f8b501fa5d3ee778c63607482e72d073343bf7171e180d8bec26138da91" + inputs-digest = "c010f0b5f991b258398c74a8a181b3b69b97c61690a2baeaad764b0c9da0a86c" solver-name = "gps-cdcl" solver-version = 1 diff --git a/drone/log/log.go b/drone/log/log.go new file mode 100644 index 0000000..37a2c61 --- /dev/null +++ b/drone/log/log.go @@ -0,0 +1,12 @@ +package log + +import "github.com/urfave/cli" + +// Command exports the build command set. +var Command = cli.Command{ + Name: "log", + Usage: "manage logs", + Subcommands: []cli.Command{ + logPurgeCmd, + }, +} diff --git a/drone/log/log_purge.go b/drone/log/log_purge.go new file mode 100644 index 0000000..9bb0adb --- /dev/null +++ b/drone/log/log_purge.go @@ -0,0 +1,41 @@ +package log + +import ( + "fmt" + "strconv" + + "github.com/drone/drone-cli/drone/internal" + "github.com/urfave/cli" +) + +var logPurgeCmd = cli.Command{ + Name: "purge", + Usage: "purge a log", + ArgsUsage: " ", + Action: logPurge, +} + +func logPurge(c *cli.Context) (err error) { + repo := c.Args().First() + owner, name, err := internal.ParseRepo(repo) + if err != nil { + return err + } + number, err := strconv.Atoi(c.Args().Get(1)) + if err != nil { + return err + } + + client, err := internal.NewClient(c) + if err != nil { + return err + } + + err = client.LogsPurge(owner, name, number) + if err != nil { + return err + } + + fmt.Printf("Purging logs for build %s/%s#%d\n", owner, name, number) + return nil +} diff --git a/drone/main.go b/drone/main.go index 7c2a012..ba311b0 100644 --- a/drone/main.go +++ b/drone/main.go @@ -9,6 +9,7 @@ import ( "github.com/drone/drone-cli/drone/deploy" "github.com/drone/drone-cli/drone/exec" "github.com/drone/drone-cli/drone/info" + "github.com/drone/drone-cli/drone/log" "github.com/drone/drone-cli/drone/registry" "github.com/drone/drone-cli/drone/repo" "github.com/drone/drone-cli/drone/secret" @@ -66,6 +67,7 @@ func main() { } app.Commands = []cli.Command{ build.Command, + log.Command, deploy.Command, exec.Command, info.Command,