func list(ctx *gb.Context, args []string) error { if formatStdin { var formatBuffer bytes.Buffer io.Copy(&formatBuffer, os.Stdin) format = formatBuffer.String() } pkgs, err := gb.ResolvePackages(ctx, args...) if err != nil { log.Fatalf("unable to resolve: %v", err) } if jsonOutput { views := make([]*PackageView, 0, len(pkgs)) for _, pkg := range pkgs { views = append(views, NewPackageView(pkg)) } encoder := json.NewEncoder(os.Stdout) if err := encoder.Encode(views); err != nil { return fmt.Errorf("Error occurred during json encoding: %v", err) } } else { fm := template.FuncMap{ "join": strings.Join, } tmpl, err := template.New("list").Funcs(fm).Parse(format) if err != nil { return fmt.Errorf("unable to parse template %q: %v", format, err) } for _, pkg := range pkgs { if err := tmpl.Execute(os.Stdout, pkg); err != nil { return fmt.Errorf("unable to execute template: %v", err) } fmt.Fprintln(os.Stdout) } } return nil }
-v print output from test subprocess. `, Run: func(ctx *gb.Context, args []string) error { ctx.Force = F ctx.Install = !FF ctx.Verbose = testVerbose r := test.TestResolver(ctx) // gb build builds packages in dependency order, however // gb test tests packages in alpha order. This matches the // expected behaviour from go test; tests are executed in // stable order. sort.Strings(args) pkgs, err := gb.ResolvePackages(r, args...) if err != nil { return err } test, err := test.TestPackages(TestFlags(tfs), pkgs...) if err != nil { return err } if dotfile != "" { f, err := os.Create(dotfile) if err != nil { return err } defer f.Close()