) var ( buildCmdConfig struct { format string } BuildCmd = &cobra.Command{ Use: "build <root>", Short: "Build a manifest for the provided root", Run: func(cmd *cobra.Command, args []string) { if len(args) != 1 { log.Fatalln("please specify a root") } ctx, err := continuity.NewContext(args[0]) if err != nil { log.Fatalf("error creating path context: %v", err) } m, err := continuity.BuildManifest(ctx) if err != nil { log.Fatalf("error generating manifest: %v", err) } p, err := proto.Marshal(m) if err != nil { log.Fatalf("error marshing manifest: %v", err) } os.Stdout.Write(p)
"github.com/spf13/cobra" "github.com/stevvooe/continuity" ) var ApplyCmd = &cobra.Command{ Use: "apply <root> [<manifest>]", Short: "Apply the manifest to the provided root", Run: func(cmd *cobra.Command, args []string) { root, path := args[0], args[1] p, err := ioutil.ReadFile(path) if err != nil { log.Fatalf("error reading manifest: %v", err) } m, err := continuity.Unmarshal(p) if err != nil { log.Fatalf("error unmarshaling manifest: %v", err) } ctx, err := continuity.NewContext(root) if err != nil { log.Fatalf("error getting context: %v", err) } if err := continuity.ApplyManifest(ctx, m); err != nil { log.Fatalf("error applying manifest: %v", err) } }, }