cutego/internal/utils/android.go

59 lines
1.5 KiB
Go
Raw Normal View History

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