go.fuchsia.dev/infra@v0.0.0-20240507153436-9b593402251b/cmd/cipd-resolver/main.go (about) 1 // Copyright 2022 The Fuchsia Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 package main 6 7 import ( 8 "log" 9 "os" 10 11 "github.com/maruel/subcommands" 12 "go.chromium.org/luci/auth" 13 "go.chromium.org/luci/auth/client/authcli" 14 "go.chromium.org/luci/hardcoded/chromeinfra" 15 ) 16 17 func getApplication(defaultAuthOpts auth.Options) *subcommands.DefaultApplication { 18 defaultAuthOpts.Scopes = []string{auth.OAuthScopeEmail} 19 return &subcommands.DefaultApplication{ 20 Name: "cipd-resolver", 21 Title: "Client for resolving CIPD package versions.", 22 Commands: []*subcommands.Command{ 23 cmdResolve(defaultAuthOpts), 24 authcli.SubcommandInfo(defaultAuthOpts, "whoami", false), 25 authcli.SubcommandLogin(defaultAuthOpts, "login", false), 26 authcli.SubcommandLogout(defaultAuthOpts, "logout", false), 27 subcommands.CmdHelp, 28 }, 29 } 30 } 31 32 func main() { 33 log.SetFlags(log.Lmicroseconds) 34 app := getApplication(chromeinfra.DefaultAuthOptions()) 35 os.Exit(subcommands.Run(app, nil)) 36 }