in astro/tvm/inspect.go [29:49]
func InspectVersion(binaryPath string) (*version.Version, error) {
stdout, err := exec.Command(binaryPath, "version").Output()
if err != nil {
return nil, err
}
s := bytes.SplitN(stdout, []byte("\n"), 2)
if len(s) < 2 {
return nil, fmt.Errorf("unable to read lines from data: %s", s)
}
// e.g. "Terraform v0.7.13"
versionLine := s[0]
v := bytes.Split(versionLine, []byte("v"))
if len(v) != 2 {
return nil, fmt.Errorf("unable to parse version from data: %s", v)
}
return version.NewVersion(string(v[1]))
}