def get_java_home()

in setup.py [0:0]


def get_java_home():
    global _java_home
    if _java_home is not None:
        return _java_home

    env_home = os.environ.get('JAVA_HOME')
    if env_home:
        if os.path.exists(env_home):
            _java_home = env_home
            return env_home
        else:
            print('Path {0} indicated by JAVA_HOME does not exist.'.format(env_home),
                  file=sys.stderr)
            sys.exit(-1)

    if is_windows():
        java_path = shutil.which("java")
        if java_path is None:
            print('Can not determine JAVA_HOME from environment variable nor java executable path.',
                  file=sys.stderr)
            sys.exit(-1)
        exe_home = os.path.dirname(os.path.dirname(java_path))
        _java_home = exe_home
        return exe_home

    return None