install.fairie/home/.chezmoiscripts/universal/run_onchange_after_18-install-sdkman.sh.tmpl
2023-11-05 01:46:18 +00:00

31 lines
1.1 KiB
Bash

#!/usr/bin/env bash
# @file SDKMAN Install
# @brief Ensures SDKMAN is installed.
# @description
# This script ensures SDKMAN (a Java version manager) is installed using the method recommended on [their
# website](https://sdkman.io/).
{{ includeTemplate "universal/profile" }}
{{ includeTemplate "universal/logg" }}
### SDKMan ~/.bashrc settings
if command -v brew > /dev/null && command -v sdkman-cli > /dev/null; then
export SDKMAN_DIR="$(brew --prefix sdkman-cli)/libexec"
. "$SDKMAN_DIR/bin/sdkman-init.sh"
elif [ -f "$SDKMAN_DIR/bin/sdkman-init.sh" ]; then
export SDKMAN_DIR="${XDG_DATA_HOME:-$HOME/.local/share}/sdkman"
. "$SDKMAN_DIR/bin/sdkman-init.sh"
fi
### Ensure SDKMan is installed (https://sdkman.io/)
if [ ! -d "$SDKMAN_DIR" ]; then
logg info 'Installing SDKMan via curl -s "https://get.sdkman.io?rcupdate=false'
logg info "Install directory: $SDKMAN_DIR"
curl -s "https://get.sdkman.io?rcupdate=false" | bash
logg info 'Running sdk install java with bash -c'
bash -c 'sdk install java'
else
logg info 'SDKMan appears to already be installed.'
logg info 'Running sdk update'
sdk update
fi