harness-drone/cli/restart.go
Matt Bostock b027bd8392 Run gofmt and add test to prevent regressions
Run `go fmt ./...` [1] and add a test to the `test` make target that
checks if `go fmt` has been run.

[1]: http://blog.golang.org/go-fmt-your-code
2015-01-11 18:54:34 +00:00

39 lines
812 B
Go

package main
import (
"github.com/codegangsta/cli"
"github.com/drone/drone/client"
)
// NewRestartCommand returns the CLI command for "restart".
func NewRestartCommand() cli.Command {
return cli.Command{
Name: "restart",
Usage: "restarts a build on the server",
Flags: []cli.Flag{},
Action: func(c *cli.Context) {
handle(c, restartCommandFunc)
},
}
}
// restartCommandFunc executes the "restart" command.
func restartCommandFunc(c *cli.Context, client *client.Client) error {
var host, owner, repo, branch, sha string
var args = c.Args()
if len(args) != 0 {
host, owner, repo = parseRepo(args[0])
}
switch len(args) {
case 2:
branch = "master"
sha = args[1]
case 3, 4, 5:
branch = args[1]
sha = args[2]
}
return client.Commits.Rebuild(host, owner, repo, branch, sha)
}