1234567891011121314151617181920212223242526272829303132 |
- package sdk
- import (
- "fmt"
- "os"
- )
- //NewSDKFromPath creates SDK from path to dir
- //goland:noinspection GoUnnecessarilyExportedIdentifiers
- func NewSDKFromPath(dirPath string) SDK {
- return SDK{dirPath: dirPath}
- }
- //NewSDKFromEnv creates SDK from environment variable. For example: ${ANDROID_SDK_ROOT}
- //goland:noinspection GoUnnecessarilyExportedIdentifiers
- func NewSDKFromEnv(env string) SDK {
- return NewSDKFromPath(os.ExpandEnv(env))
- }
- //NewSDK creates SDK from ANDROID_SDK_ROOT and ANDROID_HOME environment variables if it exists
- //goland:noinspection GoUnnecessarilyExportedIdentifiers,GoUnusedExportedFunction
- func NewSDK() SDK {
- environments := []string{"ANDROID_SDK_ROOT", "ANDROID_HOME"}
- for _, val := range environments {
- if key, ok := os.LookupEnv(val); ok {
- return NewSDKFromEnv(key)
- }
- }
- panic(fmt.Errorf("following environments was checked: %s. They are not set", environments))
- return SDK{} // just for compiler
- }
|