Exemplo n.º 1
0
func BuildLogCmd(c *cli.Context, client drone.Client) error {
	var (
		nameParam = c.Args().Get(0)
		numParam  = c.Args().Get(1)
		jobParam  = c.Args().Get(2)

		err   error
		owner string
		name  string
		num   int
		job   int
	)

	num, err = strconv.Atoi(numParam)
	if err != nil {
		return fmt.Errorf("Invalid or missing build number")
	}
	job, err = strconv.Atoi(jobParam)
	if err != nil {
		return fmt.Errorf("Invalid or missing job number")
	}

	owner, name, err = parseRepo(nameParam)
	if err != nil {
		return err
	}
	rc, err := client.BuildLogs(owner, name, num, job)
	if err != nil {
		return err
	}
	defer rc.Close()

	io.Copy(os.Stdout, rc)
	return nil
}