generate.go 978 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. package main
  2. import (
  3. "fmt"
  4. "os"
  5. "github.com/docker/docker/cli/command"
  6. "github.com/docker/docker/cli/command/commands"
  7. "github.com/docker/docker/pkg/term"
  8. "github.com/spf13/cobra"
  9. "github.com/spf13/cobra/doc"
  10. )
  11. func generateManPages(path string) error {
  12. header := &doc.GenManHeader{
  13. Title: "DOCKER",
  14. Section: "1",
  15. Source: "Docker Community",
  16. }
  17. stdin, stdout, stderr := term.StdStreams()
  18. dockerCli := command.NewDockerCli(stdin, stdout, stderr)
  19. cmd := &cobra.Command{Use: "docker"}
  20. commands.AddCommands(cmd, dockerCli)
  21. cmd.DisableAutoGenTag = true
  22. return doc.GenManTreeFromOpts(cmd, doc.GenManTreeOptions{
  23. Header: header,
  24. Path: path,
  25. CommandSeparator: "-",
  26. })
  27. }
  28. func main() {
  29. path := "/tmp"
  30. if len(os.Args) > 1 {
  31. path = os.Args[1]
  32. }
  33. fmt.Printf("Generating man pages into %s\n", path)
  34. if err := generateManPages(path); err != nil {
  35. fmt.Fprintf(os.Stderr, "Failed to generate man pages: %s\n", err.Error())
  36. }
  37. }