#!/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 "$(readlink -f "$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