本文整理匯總了Golang中v/io/jiri/profiles.Target.OS方法的典型用法代碼示例。如果您正苦於以下問題:Golang Target.OS方法的具體用法?Golang Target.OS怎麽用?Golang Target.OS使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類v/io/jiri/profiles.Target
的用法示例。
在下文中一共展示了Target.OS方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: RunMojoShell
func RunMojoShell(mojoUrl, configFile string, configAliases map[string]string, argsFor map[string][]string, target profiles.Target) *exec.Cmd {
// ensure the profiles are loaded
jirix, err := jiri.NewX(cmdline.EnvFromOS())
if err != nil {
panic(err)
}
rd, err := profilesreader.NewReader(jirix, profilesreader.UseProfiles, filepath.Join(jirix.Root, ".jiri_root", "profile_db"))
if err != nil {
panic(err)
}
envslice := rd.EnvFromProfile(mojoProfileName(), target)
env := envvar.VarsFromSlice(envslice)
jiri.ExpandEnv(jirix, env)
var mojoDevtools, mojoShell, mojoServices string
for _, e := range env.ToSlice() {
parts := strings.SplitN(e, "=", 2)
switch parts[0] {
case "MOJO_DEVTOOLS":
mojoDevtools = parts[1]
case "MOJO_SHELL":
mojoShell = parts[1]
case "MOJO_SERVICES":
mojoServices = parts[1]
}
}
args := []string{
mojoUrl,
"--config-file", configFile,
"--shell-path", mojoShell,
"--enable-multiprocess"}
if target.OS() == "android" {
args = append(args, "--android")
args = append(args, "--origin", mojoServices)
}
for alias, value := range configAliases {
args = append(args, "--config-alias", fmt.Sprintf("%s=%s", alias, value))
}
for key, value := range argsFor {
args = append(args, fmt.Sprintf("--args-for=%s %s", key, strings.Join(value, " ")))
}
return exec.Command(filepath.Join(mojoDevtools, "mojo_run"), args...)
}