本文整理汇总了Golang中github.com/ParsePlatform/parse-cli/parsecli.Env.HerokuAPIClient方法的典型用法代码示例。如果您正苦于以下问题:Golang Env.HerokuAPIClient方法的具体用法?Golang Env.HerokuAPIClient怎么用?Golang Env.HerokuAPIClient使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/ParsePlatform/parse-cli/parsecli.Env
的用法示例。
在下文中一共展示了Env.HerokuAPIClient方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: main
func main() {
// some parts of apps.go are unable to handle
// interrupts, this logic ensures we exit on system interrupts
interrupt := make(chan os.Signal, 1)
signal.Notify(interrupt, os.Interrupt)
go func() {
<-interrupt
os.Exit(1)
}()
e := parsecli.Env{
Root: os.Getenv("PARSE_ROOT"),
Server: os.Getenv("PARSE_SERVER"),
ErrorStack: os.Getenv("PARSE_ERROR_STACK") == "1",
ParserEmail: os.Getenv("PARSER_EMAIL"),
Out: os.Stdout,
Err: os.Stderr,
In: os.Stdin,
Exit: os.Exit,
Clock: clock.New(),
}
if e.Root == "" {
cur, err := os.Getwd()
if err != nil {
fmt.Fprintf(e.Err, "Failed to get current directory:\n%s\n", err)
os.Exit(1)
}
root := parsecli.GetProjectRoot(&e, cur)
if parsecli.IsProjectDir(root) {
e.Root = root
config, err := parsecli.ConfigFromDir(root)
if err != nil {
fmt.Fprintln(e.Err, err)
os.Exit(1)
}
e.Type = config.GetProjectConfig().Type
if e.ParserEmail == "" {
e.ParserEmail = config.GetProjectConfig().ParserEmail
}
} else {
e.Type = parsecli.LegacyParseFormat
e.Root = parsecli.GetLegacyProjectRoot(&e, cur)
}
}
if e.Type != parsecli.LegacyParseFormat && e.Type != parsecli.ParseFormat && e.Type != parsecli.HerokuFormat {
fmt.Fprintf(e.Err, "Unknown project type %d.\n", e.Type)
os.Exit(1)
}
if e.Server == "" {
e.Server = parsecli.DefaultBaseURL
}
apiClient, err := parsecli.NewParseAPIClient(&e)
if err != nil {
fmt.Fprintln(e.Err, err)
os.Exit(1)
}
e.ParseAPIClient = apiClient
if e.Type == parsecli.HerokuFormat {
apiClient, err := parsecli.NewHerokuAPIClient(&e)
if err != nil {
fmt.Fprintln(e.Err, err)
os.Exit(1)
}
e.HerokuAPIClient = apiClient
}
var (
rootCmd *cobra.Command
command []string
)
switch e.Type {
case parsecli.LegacyParseFormat, parsecli.ParseFormat:
command, rootCmd = parseRootCmd(&e)
case parsecli.HerokuFormat:
command, rootCmd = herokuRootCmd(&e)
}
if len(command) == 0 || command[0] != "update" {
message, err := checkIfSupported(&e, parsecli.Version, command...)
if err != nil {
fmt.Fprintln(e.Err, err)
os.Exit(1)
}
if message != "" {
fmt.Fprintln(e.Err, message)
}
}
if err := rootCmd.Execute(); err != nil {
// Error is already printed in Execute()
os.Exit(1)
}
}