cutego/internal/utils/android.go
2017-12-19 02:23:01 +01:00

59 lines
1.4 KiB
Go

package utils
import (
"fmt"
"os"
"os/exec"
"path/filepath"
"runtime"
"strings"
)
//TODO: support for JDK 9
func JDK_DIR() string {
if dir, ok := os.LookupEnv("JDK_DIR"); ok {
return filepath.Clean(dir)
}
if dir, ok := os.LookupEnv("JAVA_HOME"); ok {
return filepath.Clean(dir)
}
switch runtime.GOOS {
case "windows":
return fmt.Sprintf("C:\\Program Files\\Java\\jdk%v", strings.Split(RunCmd(exec.Command("java", "-version"), "deploy.jdk"), "\"")[1])
case "darwin":
return fmt.Sprintf("/Library/Java/JavaVirtualMachines/jdk%v.jdk/Contents/Home", strings.Split(RunCmd(exec.Command("java", "-version"), "deploy.jdk"), "\"")[1])
default:
return filepath.Join(os.Getenv("HOME"), "jdk")
}
}
func ANDROID_SDK_DIR() string {
if dir, ok := os.LookupEnv("ANDROID_SDK_DIR"); ok {
return filepath.Clean(dir)
}
if dir, ok := os.LookupEnv("ANDROID_SDK_ROOT"); ok {
return filepath.Clean(dir)
}
switch runtime.GOOS {
case "windows":
return "C:\\android-sdk-windows"
case "darwin":
return filepath.Join(os.Getenv("HOME"), "android-sdk-macosx")
default:
return filepath.Join(os.Getenv("HOME"), "android-sdk-linux")
}
}
func ANDROID_NDK_DIR() string {
if dir, ok := os.LookupEnv("ANDROID_NDK_DIR"); ok {
return filepath.Clean(dir)
}
if dir, ok := os.LookupEnv("ANDROID_NDK_ROOT"); ok {
return filepath.Clean(dir)
}
if runtime.GOOS == "windows" {
return "C:\\android-ndk-r14b"
}
return filepath.Join(os.Getenv("HOME"), "android-ndk-r14b")
}