[+] Add rime-install script
This commit is contained in:
Executable
+61
@@ -0,0 +1,61 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [[ -z "${plum_repo}" ]]; then
|
||||
plum_repo='rime/plum'
|
||||
fi
|
||||
|
||||
if [[ -z "${plum_dir}" ]]; then
|
||||
# am I in a working copy already?
|
||||
plum_dir="$(dirname "$0")"
|
||||
if ! [[ -f "${plum_dir}"/scripts/install-packages.sh ]]; then
|
||||
# make a copy of plum in a subdirectory
|
||||
plum_dir='plum'
|
||||
fi
|
||||
fi
|
||||
|
||||
if ! [[ -e "${plum_dir}" ]]; then
|
||||
git clone --depth 1 "https://github.com/${plum_repo}.git" "${plum_dir}"
|
||||
fi
|
||||
|
||||
if ! [[ "$0" -ef "${plum_dir}"/rime-install ]]; then
|
||||
# run the newer version of rime-install
|
||||
"${plum_dir}"/rime-install "$@"
|
||||
exit
|
||||
fi
|
||||
|
||||
export root_dir="${plum_dir}"
|
||||
source "${root_dir}"/scripts/bootstrap.sh
|
||||
require 'styles'
|
||||
|
||||
if [[ -z "${rime_dir}" ]]; then
|
||||
# Output to Rime user directory
|
||||
require 'frontend'
|
||||
guess_rime_user_dir # exports `rime_dir`
|
||||
fi
|
||||
|
||||
if [[ "$1" == '--select' ]]; then
|
||||
shift
|
||||
interactive=1
|
||||
fi
|
||||
|
||||
if [[ $# -eq 0 ]]; then
|
||||
targets=(':preset')
|
||||
else
|
||||
targets=("$@")
|
||||
fi
|
||||
|
||||
if [[ -n "${interactive}" ]]; then
|
||||
require 'selector'
|
||||
select_packages "${targets[@]}"
|
||||
targets=("${selected_packages[@]}")
|
||||
fi
|
||||
|
||||
for target in "${targets[@]}"; do
|
||||
if [[ "${target}" == 'plum' ]]; then
|
||||
echo $(print_result 'Updating plum at') "'${plum_dir}'"
|
||||
(cd "${plum_dir}"; git pull)
|
||||
continue
|
||||
fi
|
||||
|
||||
"${root_dir}"/scripts/install-packages.sh "${target}" "${rime_dir:-.}"
|
||||
done
|
||||
Reference in New Issue
Block a user