func runRebuild(jirix *jiri.X, args []string) (e error) { projects, tools, err := project.LoadManifest(jirix) if err != nil { return err } // Create a temporary directory in which tools will be built. tmpDir, err := jirix.NewSeq().TempDir("", "tmp-jiri-rebuild") if err != nil { return fmt.Errorf("TempDir() failed: %v", err) } // Make sure we cleanup the temp directory. defer collect.Error(func() error { return jirix.NewSeq().RemoveAll(tmpDir).Done() }, &e) // Paranoid sanity checking. if _, ok := tools[project.JiriName]; !ok { return fmt.Errorf("tool %q not found", project.JiriName) } // Build and install tools. if err := project.BuildTools(jirix, projects, tools, tmpDir); err != nil { return err } return project.InstallTools(jirix, tmpDir) }
func runRebuild(env *cmdline.Env, args []string) (e error) { ctx := tool.NewContextFromEnv(env) _, tools, err := project.ReadManifest(ctx) if err != nil { return err } // Create a temporary directory in which tools will be built. tmpDir, err := ctx.Run().TempDir("", "tmp-jiri-rebuild") if err != nil { return fmt.Errorf("TempDir() failed: %v", err) } // Make sure we cleanup the temp directory. defer collect.Error(func() error { return ctx.Run().RemoveAll(tmpDir) }, &e) // Paranoid sanity checking. if _, ok := tools[project.JiriName]; !ok { return fmt.Errorf("tool %q not found", project.JiriName) } // Build and install tools. if err := project.BuildTools(ctx, tools, tmpDir); err != nil { return err } return project.InstallTools(ctx, tmpDir) }