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
33
34
35
36
37
|
//go:build ignore
package main
import (
"flag"
"fmt"
"os"
)
func main() {
c := defaultArgs()
fs := flag.NewFlagSet("app", flag.ExitOnError)
registerFlags(fs, &c)
fs.Parse(os.Args[1:])
// With ff:
//
// fs.String("config", "app.jsonnet", "Path to config file")
// parser := ffjsonnet.ParseConfig{Schema: schema}
// if err := ff.Parse(fs, os.Args[1:],
// ff.WithEnvVarPrefix("APP"),
// ff.WithConfigFileFlag("config"),
// ff.WithAllowMissingConfigFile(true),
// ff.WithConfigFileParser(parser.Parse),
// ); err != nil {
// fmt.Fprintln(os.Stderr, err)
// os.Exit(2)
// }
if err := c.validate(); err != nil {
fmt.Fprintln(os.Stderr, err)
os.Exit(2)
}
fmt.Printf("%+v\n", c)
}
|