Skip to content

Instantly share code, notes, and snippets.

@terrettaz
Last active December 4, 2021 22:41
Show Gist options
  • Save terrettaz/c95841c262a72606ff26da5e5946b54b to your computer and use it in GitHub Desktop.
Save terrettaz/c95841c262a72606ff26da5e5946b54b to your computer and use it in GitHub Desktop.
Set JDK
#!/usr/bin/env python3
import glob
import pathlib
import sys
jdks = {}
jdks.update(dict([(x.name, x) for x in pathlib.Path('/usr/local/opt').glob('openjdk@*')]))
jdks.update(dict([(x.parent.parent.name, x) for x in pathlib.Path('/Library/Java/JavaVirtualMachines').glob('*/Contents/Home')]))
keys = sorted(jdks.keys())
choice = int(sys.argv[1]) if len(sys.argv) > 1 else len(keys)
if choice >= len(keys):
for idx, val in enumerate(keys):
print(f' [{idx}] {val}')
else:
jdk_name = keys[choice]
print(jdk_name + ' -> ' + str(jdks[jdk_name]))
jdk = jdks[jdk_name]
sym_jdk = pathlib.Path.home() / 'apps/jdk'
if sym_jdk.exists() and sym_jdk.is_symlink():
sym_jdk.unlink()
sym_jdk.symlink_to(jdk)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment