func getIdeBinaryByPackage()

in backend/analyzer/installedIDEs/InstallationsFinder.go [220:235]


func getIdeBinaryByPackage(ideaPackage string) (ideaBinary string, err error) {
	for _, possibleBaseFileName := range possibleBaseFileNames {
		for operatingSystem, path := range IdeBinaryRelatedToInstallationPath {
			currentBinaryToCheck := strings.Replace(path, "{possibleBaseFileName}", possibleBaseFileName, -1)
			ideaBinary = ideaPackage + currentBinaryToCheck
			if FileExists(ideaBinary) {
				if operatingSystem != runtime.GOOS {
					log.Printf("Provided path is for %s, but repair utility is running at %s ", operatingSystem, runtime.GOOS)
				}
				return filepath.Clean(ideaBinary), nil
			}
		}
	}
	//log.Printf(("Could not detect IDE binary in " + ideaPackage))
	return "", errors.New("Could not detect IDE binary")
}