Skip to content

Commit 6a5d7ac

Browse files
authored
Merge pull request authzed#1779 from jzelinskie/man
generate manpages for releases
2 parents 65a6a00 + feb2aff commit 6a5d7ac

File tree

3 files changed

+34
-0
lines changed

3 files changed

+34
-0
lines changed

cmd/spicedb/main.go

+22
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,11 @@ package main
22

33
import (
44
"errors"
5+
"fmt"
56
"os"
67

8+
mcobra "github.com/muesli/mango-cobra"
9+
"github.com/muesli/roff"
710
"github.com/rs/zerolog"
811
"github.com/sercand/kuberesolver/v5"
912
"github.com/spf13/cobra"
@@ -89,6 +92,25 @@ func main() {
8992
testingCmd := cmd.NewTestingCommand(rootCmd.Use, &testServerConfig)
9093
cmd.RegisterTestingFlags(testingCmd, &testServerConfig)
9194
rootCmd.AddCommand(testingCmd)
95+
96+
rootCmd.AddCommand(&cobra.Command{
97+
Use: "man",
98+
Short: "Generate the SpiceDB manpage",
99+
SilenceUsage: true,
100+
DisableFlagsInUseLine: true,
101+
Hidden: true,
102+
Args: cobra.NoArgs,
103+
RunE: func(cmd *cobra.Command, args []string) error {
104+
manPage, err := mcobra.NewManPage(1, cmd.Root())
105+
if err != nil {
106+
return err
107+
}
108+
109+
_, err = fmt.Fprint(os.Stdout, manPage.Build(roff.NewDocument()))
110+
return err
111+
},
112+
})
113+
92114
if err := rootCmd.Execute(); err != nil {
93115
if !errors.Is(err, errParsing) {
94116
log.Err(err).Msg("terminated with errors")

go.mod

+4
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,8 @@ require (
5656
github.com/magefile/mage v1.15.0
5757
github.com/mattn/go-isatty v0.0.20
5858
github.com/mostynb/go-grpc-compression v1.2.2
59+
github.com/muesli/mango-cobra v1.2.0
60+
github.com/muesli/roff v0.1.0
5961
github.com/ngrok/sqlmw v0.0.0-20220520173518-97c9c04efc79
6062
github.com/ory/dockertest/v3 v3.10.0
6163
github.com/outcaste-io/ristretto v0.2.3
@@ -273,6 +275,8 @@ require (
273275
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
274276
github.com/modern-go/reflect2 v1.0.2 // indirect
275277
github.com/moricho/tparallel v0.3.1 // indirect
278+
github.com/muesli/mango v0.1.0 // indirect
279+
github.com/muesli/mango-pflag v0.1.0 // indirect
276280
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
277281
github.com/nakabonne/nestif v0.3.1 // indirect
278282
github.com/nishanths/exhaustive v0.12.0 // indirect

go.sum

+8
Original file line numberDiff line numberDiff line change
@@ -652,6 +652,14 @@ github.com/moricho/tparallel v0.3.1 h1:fQKD4U1wRMAYNngDonW5XupoB/ZGJHdpzrWqgyg9k
652652
github.com/moricho/tparallel v0.3.1/go.mod h1:leENX2cUv7Sv2qDgdi0D0fCftN8fRC67Bcn8pqzeYNI=
653653
github.com/mostynb/go-grpc-compression v1.2.2 h1:XaDbnRvt2+1vgr0b/l0qh4mJAfIxE0bKXtz2Znl3GGI=
654654
github.com/mostynb/go-grpc-compression v1.2.2/go.mod h1:GOCr2KBxXcblCuczg3YdLQlcin1/NfyDA348ckuCH6w=
655+
github.com/muesli/mango v0.1.0 h1:DZQK45d2gGbql1arsYA4vfg4d7I9Hfx5rX/GCmzsAvI=
656+
github.com/muesli/mango v0.1.0/go.mod h1:5XFpbC8jY5UUv89YQciiXNlbi+iJgt29VDC5xbzrLL4=
657+
github.com/muesli/mango-cobra v1.2.0 h1:DQvjzAM0PMZr85Iv9LIMaYISpTOliMEg+uMFtNbYvWg=
658+
github.com/muesli/mango-cobra v1.2.0/go.mod h1:vMJL54QytZAJhCT13LPVDfkvCUJ5/4jNUKF/8NC2UjA=
659+
github.com/muesli/mango-pflag v0.1.0 h1:UADqbYgpUyRoBja3g6LUL+3LErjpsOwaC9ywvBWe7Sg=
660+
github.com/muesli/mango-pflag v0.1.0/go.mod h1:YEQomTxaCUp8PrbhFh10UfbhbQrM/xJ4i2PB8VTLLW0=
661+
github.com/muesli/roff v0.1.0 h1:YD0lalCotmYuF5HhZliKWlIx7IEhiXeSfq7hNjFqGF8=
662+
github.com/muesli/roff v0.1.0/go.mod h1:pjAHQM9hdUUwm/krAfrLGgJkXJ+YuhtsfZ42kieB2Ig=
655663
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA=
656664
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
657665
github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=

0 commit comments

Comments
 (0)