summaryrefslogtreecommitdiff
path: root/internal/autogen/manualgen.go
blob: a3480c4ea16dab12f48cfc52f46cf32f046dab97 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
/*
 * This package isn't the actual rafta server.
 * To avoid importing packages which aren't needed at runtime,
 * some auto-generation functionnalities is offloaded to here so
 * it can be done with access to the rest of the code-base but
 * without bloating the final binary. For example,
 * generating bash+zsh auto-completion scripts isn't needed in
 * the final binary if those script are generated before hand.
 * Same gose for manpages. This file is meant to be run automatically
 * to easily package new releases.
 */
package main

import (
	"log/slog"
	"os"

	"github.com/ChausseBenjamin/rafta/internal/app"
	"github.com/ChausseBenjamin/rafta/internal/logging"
	docs "github.com/urfave/cli-docs/v3"
)

func main() {
	a := app.Command()

	man, err := docs.ToManWithSection(a, 1)
	if err != nil {
		slog.Error("failed to generate man page", logging.ErrKey, err)
		os.Exit(1)
	}
	os.Stdout.Write([]byte(man))
}