tools/wsk.go (29 lines of code) (raw):

// Licensed to the Apache Software Foundation (ASF) under one // or more contributor license agreements. See the NOTICE file // distributed with this work for additional information // regarding copyright ownership. The ASF licenses this file // to you under the Apache License, Version 2.0 (the // "License"); you may not use this file except in compliance // with the License. You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, // software distributed under the License is distributed on an // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY // KIND, either express or implied. See the License for the // specific language governing permissions and limitations // under the License. // package tools import ( "fmt" "os" "github.com/apache/openwhisk-client-go/whisk" goi18n "github.com/nicksnyder/go-i18n/i18n" "github.com/sciabarracom/openwhisk-cli/commands" "github.com/sciabarracom/openwhisk-cli/wski18n" ) // prepare wsk execution var cliDebug = os.Getenv("WSK_CLI_DEBUG") // Useful for tracing init() code var T goi18n.TranslateFunc func init() { if len(cliDebug) > 0 { whisk.SetDebug(true) } T = wski18n.T // Rest of CLI uses the Properties struct, so set the build time there commands.Properties.CLIVersion = "TODO" } // Wsk invokes wsk subcommand func Wsk(command []string, args ...string) error { // set wsk variable //setWskEnvVariable(false) //debug("WSK_CONFIG_FILE=" + os.Getenv("WSK_CONFIG_FILE")) // compose the command os.Args = command os.Args = append(os.Args, args...) // cleanup defer func() { if r := recover(); r != nil { fmt.Println(r) fmt.Println(T("Application exited unexpectedly")) } }() return commands.Execute() }