Commit 96b1d685 authored by Mickaël Desfrênes's avatar Mickaël Desfrênes
Browse files

ensure java bin is executable

parent d5a30fb3
Loading
Loading
Loading
Loading
+19 −0
Original line number Diff line number Diff line
@@ -1074,12 +1074,31 @@ func ensureJava() (string, error) {
			javaBin = filepath.Join(destinationFolder, "jdk-22.0.2.jdk", "Contents", "Home", "bin", "java")
		}
		if fileExists(javaBin) {
			if err := ensureExecutable(javaBin); err != nil {
				return "", err
			}
			return javaBin, nil
		}
	}
	return "", errors.New(T("err.java_required"))
}

func ensureExecutable(filePath string) error {
	if currentOS() == "windows" {
		return nil
	}

	info, err := os.Stat(filePath)
	if err != nil {
		return err
	}
	mode := info.Mode()
	if mode&0o111 != 0 {
		return nil
	}
	return os.Chmod(filePath, mode|0o111)
}

func syncBundles(rootDirectory string) error {
	ignoreFile := ".ignore"
	installedFile := ".installed"