compiler: run flash command in a shell

Этот коммит содержится в:
Ayke van Laethem 2018-09-22 01:40:46 +02:00
родитель 7517ac86e4
коммит 895d109fc4
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: E97FF5335DFDFDED

10
main.go
Просмотреть файл

@ -174,15 +174,11 @@ func Flash(pkgName, target, port string, printIR, dumpSSA bool, printSizes strin
return Compile(pkgName, ".hex", spec, printIR, dumpSSA, printSizes, func(tmppath string) error {
// Create the command.
flashCmd := spec.Flasher
parts := strings.Split(flashCmd, " ") // TODO: this should be a real shell split
for i, part := range parts {
part = strings.Replace(part, "{hex}", tmppath, -1)
part = strings.Replace(part, "{port}", port, -1)
parts[i] = part
}
flashCmd = strings.Replace(flashCmd, "{hex}", tmppath, -1)
flashCmd = strings.Replace(flashCmd, "{port}", port, -1)
// Execute the command.
cmd := exec.Command(parts[0], parts[1:]...)
cmd := exec.Command("/bin/sh", "-c", flashCmd)
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr
return cmd.Run()