From 3792e95ef0293888a3b62585df8dc68790943b8f Mon Sep 17 00:00:00 2001 From: Keyman Build Server Date: Thu, 26 Oct 2023 14:18:49 -0400 Subject: [PATCH 01/20] auto: Keyman for linux help deployment --- products/linux/17.0/reference/km-config.md | 6 +- products/linux/17.0/reference/km-kvk2ldml.md | 8 +- .../linux/17.0/reference/km-package-get.md | 5 +- .../17.0/reference/km-package-install.md | 74 ++++++++----------- .../reference/km-package-list-installed.md | 59 +++++++-------- .../17.0/reference/km-package-uninstall.md | 6 +- 6 files changed, 60 insertions(+), 98 deletions(-) diff --git a/products/linux/17.0/reference/km-config.md b/products/linux/17.0/reference/km-config.md index f05abfabf..1a8237420 100644 --- a/products/linux/17.0/reference/km-config.md +++ b/products/linux/17.0/reference/km-config.md @@ -20,12 +20,11 @@ pointing to a .kmp file, or a keyman:// URL, possibly with a bcp47=`language` specified (e.g. keyman://downl oad/keyboard/sil_el_ethiopian_latin?bcp47=ssy-latn). +#### options: `-h`, `--help`
-__optional__
show this help message and exit `-i INSTALL`, `--install INSTALL`
-__optional__
download and/or install .kmp package. INSTALL can either be a downloaded .kmp file, a file:// URL pointing to a .kmp file, or a keyman:// URL, possibly @@ -33,15 +32,12 @@ with a bcp47=`language` specified (e.g. keyman://downl oad/keyboard/sil_el_ethiopian_latin?bcp47=ssy-latn). `--version`
-__optional__
show program's version number and exit `-v`, `--verbose`
-__optional__
verbose logging `-vv`, `--veryverbose`
-__optional__
very verbose logging ## Description diff --git a/products/linux/17.0/reference/km-kvk2ldml.md b/products/linux/17.0/reference/km-kvk2ldml.md index 30ac2b76a..cd03fcccb 100644 --- a/products/linux/17.0/reference/km-kvk2ldml.md +++ b/products/linux/17.0/reference/km-kvk2ldml.md @@ -16,32 +16,26 @@ km-kvk2ldml [-h] [-p] [-k] [-o LDMLFILE] [--version] [-v] [-vv] kvkfile `kvkfile`
kvk file +#### options: `-h`, `--help`
-__optional__
show this help message and exit `-p`, `--print`
-__optional__
print kvk details `-k`, `--keys`
-__optional__
if printing also print all keys `-o LDMLFILE`, `--output LDMLFILE`
-__optional__
output LDML file location `--version`
-__optional__
show program's version number and exit `-v`, `--verbose`
-__optional__
verbose logging `-vv`, `--veryverbose`
-__optional__
very verbose logging ## Description diff --git a/products/linux/17.0/reference/km-package-get.md b/products/linux/17.0/reference/km-package-get.md index 60438049b..5c7b60a8a 100644 --- a/products/linux/17.0/reference/km-package-get.md +++ b/products/linux/17.0/reference/km-package-get.md @@ -16,20 +16,17 @@ km-package-get [-h] [--version] [-v] [-vv] id `id`
Keyman keyboard id +#### options: `-h`, `--help`
-__optional__
show this help message and exit `--version`
-__optional__
show program's version number and exit `-v`, `--verbose`
-__optional__
verbose logging `-vv`, `--veryverbose`
-__optional__
very verbose logging ## Description diff --git a/products/linux/17.0/reference/km-package-install.md b/products/linux/17.0/reference/km-package-install.md index 34177d160..8fad7dc20 100644 --- a/products/linux/17.0/reference/km-package-install.md +++ b/products/linux/17.0/reference/km-package-install.md @@ -11,54 +11,42 @@ Install a Keyman keyboard package km-package-install [-h] [-s] [-f KMPFILE] [-p PACKAGE] [-l LANGTAG] [--force] [--version] [-v] [-vv] ``` -### Parameters - -`-h`, `--help`
-__optional__
-show this help message and exit - -`-s`, `--shared`
-__optional__
-Install to shared area `/usr/local` - -`-f KMPFILE`, `--file KMPFILE`
-__optional__
-Keyman kmp file - -`-p PACKAGE`, `--package PACKAGE`
-__optional__
-Keyman package id - -`-l LANGTAG`, `--bcp47 LANGTAG`
-__optional__
-bcp47 language tag - -`--force`
-__optional__
-force installation of keyboard even if it is a -downgrade to an older version of the keyboard - -`--version`
-__optional__
-show program's version number and exit - -`-v`, `--verbose`
-__optional__
-verbose logging - -`-vv`, `--veryverbose`
-__optional__
-very verbose logging - -`Example`
-__optional__
-: km-package-install -s -p sil_el_ethiopian_latin --bcp47 ssy-latn - ## Description Install a Keyman keyboard package, either a local .kmp file or specify a keyboard id to download and install, optionally specifying a language for which to install the keyboard. +#### options: +.TP +?-h, --help +?show this help message and exit +.TP +?-s, --shared +?Install to shared area `/usr/local` +.TP +?-f KMPFILE, --file KMPFILE +?Keyman kmp file +.TP +?-p PACKAGE, --package PACKAGE +?Keyman package id +.TP +?-l LANGTAG, --bcp47 LANGTAG +?bcp47 language tag +.TP +?--force +?force installation of keyboard even if it is a +downgrade to an older version of the keyboard +.TP +?--version +?show program's version number and exit +.TP +?-v, --verbose +?verbose logging +.TP +?-vv, --veryverbose +?very verbose logging + +Example: km-package-install -s -p sil_el_ethiopian_latin --bcp47 ssy-latn ## Tab completion diff --git a/products/linux/17.0/reference/km-package-list-installed.md b/products/linux/17.0/reference/km-package-list-installed.md index a0ad8ea63..b6a5c0889 100644 --- a/products/linux/17.0/reference/km-package-list-installed.md +++ b/products/linux/17.0/reference/km-package-list-installed.md @@ -11,43 +11,34 @@ List installed Keyman keyboard packages km-package-list-installed [-h] [-l] [-s] [-o] [-u] [--version] [-v] [-vv] ``` -### Parameters - -`-h`, `--help`
-__optional__
-show this help message and exit - -`-l`, `--long`
-__optional__
-additionally show description - -`-s`, `--shared`
-__optional__
-show keyboard packages installed in shared area - -`-o`, `--os`
-__optional__
-show keyboard packages installed by the OS - -`-u`, `--user`
-__optional__
-show keyboard packages installed in user area - -`--version`
-__optional__
-show program's version number and exit - -`-v`, `--verbose`
-__optional__
-verbose logging - -`-vv`, `--veryverbose`
-__optional__
-very verbose logging - ## Description Show installed Keyman keyboard packages with name, version, id. +#### options: +.TP +?-h, --help +?show this help message and exit +.TP +?-l, --long +?additionally show description +.TP +?-s, --shared +?show keyboard packages installed in shared area +.TP +?-o, --os +?show keyboard packages installed by the OS +.TP +?-u, --user +?show keyboard packages installed in user area +.TP +?--version +?show program's version number and exit +.TP +?-v, --verbose +?verbose logging +.TP +?-vv, --veryverbose +?very verbose logging ## See also - [`km-package-install`](km-package-install) diff --git a/products/linux/17.0/reference/km-package-uninstall.md b/products/linux/17.0/reference/km-package-uninstall.md index b8b414914..64b82b5db 100644 --- a/products/linux/17.0/reference/km-package-uninstall.md +++ b/products/linux/17.0/reference/km-package-uninstall.md @@ -16,24 +16,20 @@ km-package-uninstall [-h] [-s] [--version] [-v] [-vv] id `id`
Keyman keyboard id +#### options: `-h`, `--help`
-__optional__
show this help message and exit `-s`, `--shared`
-__optional__
Uninstall from shared area `/usr/local` `--version`
-__optional__
show program's version number and exit `-v`, `--verbose`
-__optional__
verbose logging `-vv`, `--veryverbose`
-__optional__
very verbose logging ## Description From 533330c4b9ea8ae8c037914d0e099cff7fa6091d Mon Sep 17 00:00:00 2001 From: Marc Durdin Date: Fri, 27 Oct 2023 13:16:15 +0700 Subject: [PATCH 02/20] chore: use auto merge if possible --- ...to-approve-and-merge-keyman-server-pr.yml} | 9 +- _common/builder.inc.sh | 1894 +++++++++++++++++ 2 files changed, 1902 insertions(+), 1 deletion(-) rename .github/workflows/{auto-approve-keyman-server-pr.yml => auto-approve-and-merge-keyman-server-pr.yml} (64%) create mode 100644 _common/builder.inc.sh diff --git a/.github/workflows/auto-approve-keyman-server-pr.yml b/.github/workflows/auto-approve-and-merge-keyman-server-pr.yml similarity index 64% rename from .github/workflows/auto-approve-keyman-server-pr.yml rename to .github/workflows/auto-approve-and-merge-keyman-server-pr.yml index 4634825b6..62a77f640 100644 --- a/.github/workflows/auto-approve-keyman-server-pr.yml +++ b/.github/workflows/auto-approve-and-merge-keyman-server-pr.yml @@ -16,5 +16,12 @@ jobs: permissions: pull-requests: write steps: - - uses: hmarr/auto-approve-action@44888193675f29a83e04faf4002fa8c0b537b1e4 # v3.2.1 + - name: Approve pull request + if: contains(github.event.pull_request.labels.*.name, 'auto') if: github.actor == 'keyman-server' + run: | + gh pr review --approve + - name: Enable auto-merge + if: contains(github.event.pull_request.labels.*.name, 'auto') + run: | + gh pr merge --merge --auto diff --git a/_common/builder.inc.sh b/_common/builder.inc.sh new file mode 100644 index 000000000..b9972e266 --- /dev/null +++ b/_common/builder.inc.sh @@ -0,0 +1,1894 @@ +#!/usr/bin/env bash + +# Note: these two lines can be uncommented for debugging and profiling build +# scripts: +# +# set -x +# PS4='+ $EPOCHREALTIME $0 $LINENO ' +# + +# +# This script contains utilities for builder_script calls +# +# * builder_ functions and variables are defined here. +# * REPO_ROOT defines the top level of this repository +# * THIS_SCRIPT_PATH defines the full path of the running script +# * THIS_SCRIPT_NAME defines the basename of the running script +# * THIS_SCRIPT_IDENTIFIER defines the repo-relative path of the running script +# * _builder_ functions and variables are internal use only for builder.inc.sh, and +# subject to change at any time. Do not use them in other scripts. +# * Note: the running script is the top-level script that includes either +# builder.inc.sh directly, or, just in the Keyman repo, via build-utils.sh. +# + +# Exit on command failure and when using unset variables: +set -eu + +# +# Prevents 'clear' on exit of mingw64 bash shell +# +SHLVL=0 + +# _builder_init is called internally at the bottom of this file after we have +# all function declarations in place. +function _builder_init() { + _builder_findRepoRoot + _builder_setBuildScriptIdentifiers + + if [[ -n "$TERM" ]] && [[ "$TERM" != "dumb" ]] && [[ "$TERM" != "unknown" ]] && [ -t 1 ]; then + builder_use_color true + else + builder_use_color false + fi +} + +function _builder_findRepoRoot() { + # We don't need readlink here because our standard script prolog does a + # readlink -f already so we will have already escaped from any symlinks + REPO_ROOT="${BASH_SOURCE[0]%/*/*}" + readonly REPO_ROOT +} + +# Used to build script-related build variables useful for referencing the calling script +# and for prefixing `builder_finish_action` outputs in order to more clearly identify the calling +# script. +# +# Assumes that `THIS_SCRIPT` has been set, typically like this: +# +# ```bash +# ## START STANDARD BUILD SCRIPT INCLUDE +# # adjust relative paths as necessary +# THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")" +# . "${THIS_SCRIPT%/*}/resources/builder.inc.sh" +# ## END STANDARD BUILD SCRIPT INCLUDE +# ``` +# +function _builder_setBuildScriptIdentifiers() { + if [ ! -z ${THIS_SCRIPT+x} ]; then + THIS_SCRIPT_PATH="${THIS_SCRIPT%/*}" + readonly THIS_SCRIPT_PATH + THIS_SCRIPT_NAME="${THIS_SCRIPT##*/}" + readonly THIS_SCRIPT_NAME + # Leaves only the part of the path based upon REPO_ROOT. + THIS_SCRIPT_IDENTIFIER=${THIS_SCRIPT_PATH#"$REPO_ROOT/"} + readonly THIS_SCRIPT_IDENTIFIER + else + builder_die "THIS_SCRIPT not defined; builder.inc.sh has not been sourced with standard script include." + fi +} + +################################################################################ +# Standard build script functions for managing command line, actions and targets +################################################################################ + +# The following allows coloring of warning and error lines, but only works if there's a +# terminal attached, so not on the build machine. + +# Overrides default colorization of logging; can be used in command-line with +# --color or --no-color, or overridden as necessary on a per-script basis. +# +# Parameters +# 1: use_color true or false +builder_use_color() { + if $1; then + # Using esc codes instead of tput for performance + COLOR_RED='\x1b[31m' # $(tput setaf 1) + COLOR_GREEN='\x1b[32m' # $(tput setaf 2) + COLOR_YELLOW='\x1b[33m' # $(tput setaf 3) + COLOR_BLUE='\x1b[34m' # $(tput setaf 4) + COLOR_PURPLE='\x1b[35m' # $(tput setaf 5) + COLOR_TEAL='\x1b[36m' # $(tput setaf 6) + COLOR_WHITE='\x1b[38;5;252m' # $(tput setaf 252) + COLOR_BRIGHT_WHITE='\x1b[38;5;255m' # $(tput setaf 255) + COLOR_GREY='\x1b[90m' # $(tput setaf 8) + COLOR_RESET='\x1b(B\x1b[m' # $(tput sgr0) + # e.g. VSCode https://code.visualstudio.com/updates/v1_69#_setmark-sequence-support + BUILDER_BOLD='\x1b[1m' # $(tput bold) + HEADING_SETMARK='\x1b]1337;SetMark\x07' + # Used by `builder_display_usage` when marking special terms (actions, targets, options) + # in the plain-text description area. + BUILDER_TERM_START="$COLOR_BLUE" + BUILDER_TERM_END="$COLOR_RESET" + else + COLOR_RED= + COLOR_GREEN= + COLOR_YELLOW= + COLOR_BLUE= + COLOR_PURPLE= + COLOR_TEAL= + COLOR_WHITE= + COLOR_BRIGHT_WHITE= + COLOR_GREY= + COLOR_RESET= + BUILDER_BOLD= + HEADING_SETMARK= + BUILDER_TERM_START="<" + BUILDER_TERM_END=">" + fi +} + +# +# Wraps the input string in `builder_display_usage` with $BUILDER_TERM_START and +# $BUILDER_TERM_END +# +function builder_term() { + echo "${BUILDER_TERM_START}$*${BUILDER_TERM_END}" +} + +function builder_die() { + echo + if [[ $# -eq 0 ]]; then + builder_echo error "Unspecified error, aborting script" + else + builder_echo error "$*" + fi + echo + exit 1 +} + +function builder_warn() { + builder_echo warning "$*" +} + +function builder_heading() { + builder_echo heading "$*" +} + + +#################################################################################### +# +# builder_ functions for standard build script parameter and process management +# +#################################################################################### + + +builder_echo() { + local color=white message= mark= + if [[ $# -gt 1 && $1 =~ ^(white|grey|green|success|blue|heading|yellow|warning|red|error|purple|brightwhite|teal|debug|setmark)$ ]]; then + color="$1" + shift + fi + message="$*" + + if [[ ! -z ${COLOR_RED+x} ]]; then + case $color in + white) color="$COLOR_WHITE" ;; + grey) color="$COLOR_GREY" ;; + green|success) color="$COLOR_GREEN" ;; + blue|heading) color="$COLOR_BLUE" ;; + yellow|warning) color="$COLOR_YELLOW" ;; + red|error) color="$COLOR_RED" ;; + purple) color="$COLOR_PURPLE" ;; + brightwhite) color="$COLOR_BRIGHTWHITE" ;; + teal|debug) color="$COLOR_TEAL" ;; + setmark) mark="$HEADING_SETMARK" color="$COLOR_PURPLE" ;; + esac + + if builder_is_dep_build; then + echo -e "$mark$COLOR_GREY[$THIS_SCRIPT_IDENTIFIER]$COLOR_RESET $color$message$COLOR_RESET" + else + echo -e "$mark$BUILDER_BOLD$COLOR_BRIGHT_WHITE[$THIS_SCRIPT_IDENTIFIER]$COLOR_RESET $color$message$COLOR_RESET" + fi + else + # Cope with the case of pre-init message and just emit plain text + echo -e "$message" + fi +} + +builder_echo_debug() { + builder_echo debug "[DEBUG] $*" +} + +# +# builder_ names are reserved. +# _builder_ names are internal use and subject to change +# + +# +# builder_extra_params: string containing all parameters after '--' +# +builder_extra_params=() + +# returns 0 if first parameter is in the array passed as second parameter +# +# Usage: +# if _builder_item_in_array "item" "${array[@]}"; then ...; fi +# Parameters: +# 1: item item to search for in array +# 2: array bash array, e.g. array=(one two three) +_builder_item_in_array() { + local e match="$1" + shift + [[ -z "$match" ]] && return 1 + for e; do [[ "$e" == $match ]] && return 0; done + return 1 +} + +# +# Returns `0` if first parameter is in the array passed as second parameter, +# where the array may contain globs. +# +# ### Parameters +# +# * 1: `item` item to search for in array +# * 2: `array` bash array, e.g. `array=(one two three)` +# +# ### Example +# +# ```bash +# array=(foo bar it*) +# if _builder_item_in_glob_array "item" "${array[@]}"; then ...; fi +# ``` +# +_builder_item_in_glob_array() { + local e match="$1" + shift + [[ -z "$match" ]] && return 1 + for e; do [[ "$match" == $e ]] && return 0; done + return 1 +} + +# +# Expands a shorthand item into a full match from an array of possibilities; +# reports an error if there are ambiguous options. Note that this function +# returns the number of matches, so 0 = no match, 1 = a precise match. +# +# ### Parameters +# +# * 1: `item` item to search for in array, e.g. "t" +# * 2: `array` bash array, e.g. `array=(one two three)` +# +# ### Description +# +# Does a substring search by regex for +# +# ### Example +# +# ```bash +# actions=(clean configure build test) +# +# action=`_builder_expand_shorthand $1 "${actions[@]}"` && +# builder_die "Unrecognized parameter $1" || +# case $? in +# 1) echo "Parameter $1 matches {$action}" +# ;; +# *) builder_die "Parameter $1 has $? matches, could mean any of {$action}" +# esac +# ``` +# +_builder_expand_shorthand() { + local item=$1 + shift + local count=0 + local result= + local string= + for e; do + if [[ $e == $item ]]; then + # Exact match trumps substring matches + echo $item + return 1 + fi + if [[ $e == "$item"* ]]; then + count=$((count+1)) + if [[ $count == 2 ]]; then + string="$result, $e" + result=$item + elif [[ $count -gt 2 ]]; then + string="$string, $e" + else + result=$e + fi + fi + done + + if [[ $count -lt 2 ]]; then + echo $result + else + echo $string + fi + return $count +} + + +_builder_item_is_target() { + local item="$1" + [[ $item =~ ^: ]] && return 1 + return 0 +} + +function _builder_warn_if_incomplete() { + if [ -n "${_builder_current_action}" ]; then + builder_echo warning "$_builder_current_action never reported success or failure" + # exit 1 # If we wanted this scenario to result in a forced build-script fail. + fi + + # Since we've already warned about this once, we'll clear the variable to prevent repetitions. + _builder_current_action= +} + +# Used by a `trap` statement later to facilitate auto-reporting failures on error detection +# without obscuring failure exit/error codes. +_builder_failure_trap() { + local trappedExitCode=$? + local action target + + _builder_cleanup_deps + + # Since 'exit' is also trapped, we can also handle end-of-script incomplete actions. + if [[ $trappedExitCode == 0 ]]; then + # While there weren't errors, were there any actions that never reported success or failure? + _builder_warn_if_incomplete + return + fi + + # If we've reached this point, we're here because an error occurred. + + # Iterate across currently-active actions and report their failures. + if [ -n "${_builder_current_action}" ]; then + action="${_builder_current_action}" + if [[ $action =~ : ]]; then + IFS=: read -r action target <<< "$action" + target=:$target + else + target=:project + fi + + builder_finish_action failure $action$target + fi + + # Make 100% sure that the exit code chains fully. + # Without this, nested scripts have failed to chain errors from npm calls past the script + # that directly executed the failed npm command. + exit $trappedExitCode +} + +# +# Removes temporary `_builder_deps_built` file when top-level build script +# finishes. +# +_builder_cleanup_deps() { + if ! builder_is_dep_build && ! builder_is_child_build && [[ ! -z ${_builder_deps_built+x} ]]; then + if $_builder_debug_internal; then + builder_echo_debug "Dependencies that were built:" + cat "$_builder_deps_built" + fi + rm -f "$_builder_deps_built" + _builder_deps_built= + fi +} + +#------------------------------------------------------------------------------------------ +# Child scripts +#------------------------------------------------------------------------------------------ + +_builder_execute_child() { + local action=$1 + local target=$2 + + local script="$THIS_SCRIPT_PATH/${_builder_target_paths[$target]}/build.sh" + + if $_builder_debug_internal; then + builder_echo heading "## $action$target starting..." + fi + + # Build array of specified inheritable options + local child_options=() + local opt + for opt in "${_builder_options_inheritable[@]}"; do + if builder_has_option $opt; then + child_options+=($opt) + fi + done + + "$script" $action \ + --builder-child \ + $_builder_build_deps \ + ${child_options[@]} \ + $builder_verbose \ + $builder_debug \ + && ( + if $_builder_debug_internal; then + builder_echo success "## $action$target completed successfully" + fi + ) || ( + result=$? + builder_echo error "## $action$target failed with exit code $result" + exit $result + ) || exit $? # Required due to above subshell masking exit +} + +_builder_run_child_action() { + local action="$1" target + + if [[ $action =~ : ]]; then + IFS=: read -r action target <<< "$action" + target=:$target + else + target=':*' + fi + + if builder_has_action $action$target; then + if [[ $target == ':*' ]]; then + # run all children in order specified in builder_describe + for target in "${_builder_targets[@]}"; do + # We have to re-test the action because the user may not + # have specified all targets in their invocation + if builder_has_action $action$target; then + if [[ ! -z ${_builder_target_paths[$target]+x} ]] && + [[ -f "$THIS_SCRIPT_PATH/${_builder_target_paths[$target]}/build.sh" ]]; then + _builder_execute_child $action $target + fi + fi + done + else + # If specified explicitly, we assume existence of a child build script. + _builder_execute_child $action $target + fi + fi +} + +# +# Executes the specified actions on all child targets, or on the specified +# targets. A child target is any target which has a sub-folder of the same name +# as the target. However, the actions will only be run if they have been +# specified by the user on the command-line. +# +# ### Usage +# +# ```bash +# builder_run_child_actions action1 [...] +# ``` +# +# ### Parameters +# +# 1...: action[:target] name of action:target to run +# +# ### Example +# +# ```bash +# builder_run_child_actions configure build test install +# ``` +# +builder_run_child_actions() { + while [[ $# -gt 0 ]]; do + local action="$1" + _builder_run_child_action "$action" + shift + done +} + +#------------------------------------------------------------------------------------------ +# Various API endpoints +#------------------------------------------------------------------------------------------ + +# +# Builds the standardized `action:target` string for the specified action-target +# pairing and also returns 0 if the user has asked to perform it on the command +# line. Otherwise, returns 0 and sets an empty string in place of the matched +# pair. +# +# The string will be set as `_builder_matched_action`, which is for +# builder.inc.sh internal use, used by `builder_start_action`. +# +# ### Usage +# +# ```bash +# if build_has_action action[:target]; then ...; fi +# ```` +# +# ### Parameters +# +# 1: action[:target] name of action:target +# +# ### Example +# +# ```bash +# if builder_has_action build:app; then ... +# ``` +# +builder_has_action() { + local action="$1" target + + if [[ $action =~ : ]]; then + IFS=: read -r action target <<< "$action" + target=:$target + else + target=':*' + fi + + if _builder_item_in_array "$action$target" "${_builder_chosen_action_targets[@]}"; then + # To avoid WET re-processing of the $action$target string set + _builder_matched_action="$action$target" + if [[ $target == ':*' ]]; then + _builder_matched_action_name="$action" + else + _builder_matched_action_name="$action$target" + fi + return 0 + else + _builder_matched_action= + return 1 + fi +} + +# +# Wraps builder_start_action and builder_finish action for single-command +# actions. Can be used together with a local function for multi-command actions. +# Do be aware that this pseudo-closure style cannot be mixed with operators such +# as `<`, `>`, `&&`, `;`, `()` and so on. +# +# ### Usage +# +# ```bash +# builder_run_action action[:target] command [command-params...] +# ``` +# +# ### Parameters +# +# * 1: `action[:target]` name of action, and optionally also target, if target +# excluded starts for all defined targets +# * 2: command command to run if action is started +# * 3...: command-params parameters for command +# +# ### Example +# +# ```bash +# function do_build() { +# mkdir -p build/cjs-src +# npm run build +# } +# +# builder_run_action clean rm -rf ./build/ ./tsconfig.tsbuildinfo +# builder_run_action configure verify_npm_setup +# builder_run_action build do_build +# ``` +# +function builder_run_action() { + local action=$1 + shift + if builder_start_action $action; then + ($@) + builder_finish_action success $action + fi + return 0 +} + +# +# Returns `0` if the user has asked to perform action on target on the command +# line, and then starts the action. Should be paired with +# `builder_finish_action`. +# +# ### Usage +# +# ```bash +# if builder_start_action action[:target]; then ...; fi +# ``` +# +# ### Parameters +# +# * 1: `action[:target]` name of action, and optionally also target, if +# target excluded starts for all defined targets +# +# ### Example +# +# ```bash +# if builder_start_action build:app; then ... +# ``` +# +builder_start_action() { + if builder_has_action $1; then + # In a dependency quick build (the default), determine whether we actually + # need to run this step. Uses data passed to builder_describe_outputs to + # verify whether a target output is present. + if builder_is_dep_build && + ! builder_is_full_dep_build && + _builder_dep_output_exists $_builder_matched_action; then + builder_echo "skipping $_builder_matched_action_name, up-to-date" + return 1 + fi + + builder_echo blue "## $_builder_matched_action_name starting..." + if [ -n "${_builder_current_action}" ]; then + _builder_warn_if_incomplete + fi + _builder_current_action="$_builder_matched_action" + + # Build dependencies as required + _builder_do_build_deps "$_builder_matched_action" + return 0 + else + return 1 + fi +} + +# +# Returns 0 if the user has --option on the command line +# +# Usage: +# if build_has_option option; then ...; fi +# Parameters: +# 1: option name of option, i.e. --option +# Example: +# if build_has_option --debug; then +# +builder_has_option() { + local option="$1" + + if _builder_item_in_array "$option" "${_builder_chosen_options[@]}"; then + return 0 + fi + return 1 +} + +# +# Trims leading and following whitespace from the input parameters +# +# ### Usage +# +# ```bash +# my_string="$(builder_trim "$my_string")" +# ``` +# +# ### Parameters +# +# * `my_string` An input string +# +builder_trim() { + local var="$*" + # remove leading whitespace characters + var="${var#"${var%%[![:space:]]*}"}" + # remove trailing whitespace characters + var="${var%"${var##*[![:space:]]}"}" + printf '%s' "$var" +} + +# +# Expands an in-repo-relative path to a repo-relative path. A path starting with +# `/` is expected to be relative to repo root, not filesystem root. Otherwise, +# it's relative to current script path, not current working directory. The +# returned path will not have a prefix `/`, and will be relative to +# `$REPO_ROOT`. Assumes realpath is installed (brew coreutils on macOS). +# +_builder_expand_relative_path() { + local path="$1" + if [[ "$path" =~ ^/ ]]; then + echo "${path:1}" + else + realpath --canonicalize-missing --relative-to="$REPO_ROOT" "$THIS_SCRIPT_PATH/$path" + fi +} + +# +# Expands an `[action][:target]` string, replacing missing values with `*`, +# for example: +# +# * `build` --> `build:*` +# * `build:app` --> `build:app` +# * `:app` --> `*:app` +# +# Supports multiple action:targets in the string +# +_builder_expand_action_target() { + local input="$1" target= action= + if [[ "$input" =~ : ]]; then + IFS=":" read -r action target <<< "$input" + else + action="$input" + fi + + if [[ -z "$action" ]]; then + action='*' + fi + if [[ -z "$target" ]]; then + target='*' + fi + + echo "$action:$target" +} + +_builder_expand_action_targets() { + local input=($1) e output=() + for e in "${input[@]}"; do + e="$(_builder_expand_action_target "$e")" + output+=("$e") + done + if [[ ${#output[@]} == 0 ]]; then + echo "*:*" + else + echo "${output[@]}" + fi +} + +_builder_child_base= +# +# Describes the path from the build script's working directory to the common subfolder +# containing child scripts / projects without defined custom paths. +# +# This function must be called to set the child base path before builder_describe is +# called in order to work correctly. Furthermore, note that this setting will be +# ignored by targets with custom paths. +# +# ### Usage +# +# ```bash +# builder_set_child_base path +# ``` +# +# ### Parameters +# +# * `path` The relative path from the directory containing the calling script to +# the base folder to use for child-project detection and resolution +# +builder_set_child_base() { + _builder_child_base="$1/" +} + +# +# Describes a build script, defines available parameters and their meanings. Use +# together with `builder_parse` to process input parameters. +# +# ### Usage +# +# ```bash +# builder_describe description param_desc... +# ``` +# +# ### Parameters +# +# * `description` A short description of what the script does. +# * `param_desc` Space separated name and description of parameter, e.g. +# `"build Builds the target"` +# This parameter may be repeated to describe all parameters. +# +# There are four types of parameters that may be specified: +# +# * **Option:** `"--option[,-o][+][=var] [One line description]"` +# +# All options must have a longhand form with two prefix hyphens, +# e.g. `--option`. The `,-o` shorthand form is optional. When testing if +# the option is set with `builder_has_option`, always use the longhand +# form. +# +# If `=var` is specified, then the next parameter will be a variable stored in +# `$var` for that option. e.g. `--option=opt` means `$opt` will have the value +# `"foo"` when the script is called for `--option foo`. +# +# If `+` is specified, then the option will be passed to child scripts. All +# child scripts _must_ accept this option, or they will fail. It is acceptable +# for the child script to declare the option but ignore it. However, the option +# will _not_ be passed to dependencies. +# +# * **Action**: `"action [One line description]"` +# +# Actions must be a single word, lower case. To specify an action as the +# default, append a `+` to the action name, e.g. `"test+ Test the project"`. +# If there is no default specified, then it will be `build`. +# +# * **Target:** `":target[=path] [One line description]"` +# +# A target always starts with colon, e.g. `:project`. If a folder exists with +# the same name as a target, then that automatically denotes the target as a +# "child project". This can simplify parent-child style scripts, using the +# [`builder_run_child_actions`] function. +# +# A child project with an alternate folder can also be specified by appending +# `=path` to the target definition, for example `:app=src/app`. Where +# possible, avoid differences in names of child projects and folders. +# +# * **Dependency:** `"@/path/to/dependency[:target] [action][:target] ..."`` +# +# A dependency always starts with `@`. The path to the dependency will be +# relative to the build script folder, or to the root of the repository, if +# the path starts with `/`, not to the root of the file system. It is an error +# to specify a dependency outside the repo root. +# +# Relative paths will be expanded to full paths, again, relative to the root +# of the repository. +# +# A dependency definition can include a target for that dependency, for +# example, `"@/core:arch"`. This would build only the ':arch' target for the +# core module. +# +# Dependencies may be limited to specific `action:target` pairs on the current +# script. If not specified, dependencies will be built for all actions on all +# targets. Either `action` or `:target` may be omitted, and multiple actions +# and targets may be specified, space separated. +# +builder_describe() { + _builder_record_function_call builder_describe + + _builder_description="$1" + _builder_actions=() + _builder_targets=() + _builder_options=() + _builder_deps=() # array of all dependencies for this script + _builder_options_inheritable=() # array of all options that should be passed to child scripts + _builder_default_action=build + declare -A -g _builder_params + declare -A -g _builder_options_short + declare -A -g _builder_options_var + declare -A -g _builder_dep_path # array of output files for action:target pairs + declare -A -g _builder_dep_related_actions # array of action:targets associated with a given dependency + declare -A -g _builder_internal_dep # array of internal action:targets dependency relationships + declare -A -g _builder_target_paths # array of target child project paths + declare -A -g _builder_dep_targets # array of :targets given for a specific dependency (comma separated if more than one) + shift + local sub=() + # describe each target, action, and option possibility + while [[ $# -gt 0 ]]; do + local key="$1" + local value="$key" + local description= + if [[ $key =~ [[:space:]] ]]; then + IFS=" " read -r -a sub <<< "$key" + value="${sub[0]}" + description="$(builder_trim "${sub[@]:1}")" + fi + + if [[ $value =~ ^: ]]; then + # Parameter is a target + local target_path= + if [[ $value =~ = ]]; then + # The target has a custom child project path + IFS="=" read -r -a sub <<< "$value" + target_path="${sub[@]:1}" + value="${sub[0]}" + if [[ ! -d "$THIS_SCRIPT_PATH/$target_path" ]]; then + builder_die "Target path '$target_path' for $value does not exist." + fi + else + # If the target name matches a folder name, implicitly + # make it available as a child project + if [[ -d "$THIS_SCRIPT_PATH/$_builder_child_base${value:1}" ]]; then + target_path="$_builder_child_base${value:1}" + fi + fi + _builder_targets+=($value) + if [[ ! -z "$target_path" ]]; then + _builder_target_paths[$value]="$target_path" + fi + elif [[ $value =~ ^@ ]]; then + # Parameter is a dependency + local dependency="${value:1}" + local dependency_target= # all targets + if [[ $dependency =~ : ]]; then + IFS=":" read -r dependency dependency_target <<< "$dependency" + dependency_target=":$dependency_target" + fi + + dependency="`_builder_expand_relative_path "$dependency"`" + _builder_deps+=($dependency) + _builder_dep_related_actions[$dependency]="$(_builder_expand_action_targets "$description")" + _builder_dep_targets[$dependency]="$dependency_target" + # We don't want to add deps to params, so shift+continue + shift + continue + elif [[ $value =~ ^-- ]]; then + # Parameter is an option + # Look for a shorthand version of the option + local option_var= + if [[ $value =~ = ]]; then + IFS="=" read -r -a sub <<< "$value" + option_var="${sub[@]:1}" + value="${sub[0]}" + fi + + local is_inheritable=false + + if [[ $value =~ \+$ ]]; then + # final + indicates that option is inheritable + is_inheritable=true + value="${value:0:-1}" + fi + + if [[ $value =~ , ]]; then + IFS="," read -r -a sub <<< "$value" + local option_long="${sub[0]}" + local option_short="${sub[@]:1}" + _builder_options+=($option_long) + if $is_inheritable; then + _builder_options_inheritable+=($option_long) + fi + _builder_options_short[$option_short]="$option_long" + if [[ ! -z "$option_var" ]]; then + _builder_options_var[$option_long]="$option_var" + fi + value="$option_long, $option_short" + else + _builder_options+=($value) + if $is_inheritable; then + _builder_options_inheritable+=($value) + fi + if [[ ! -z "$option_var" ]]; then + _builder_options_var[$value]="$option_var" + fi + fi + + if [[ ! -z $option_var ]]; then + value="$value $option_var" + fi + + else + # Parameter is an action + if [[ $value =~ \+$ ]]; then + # If the action name has a '+' suffix then it is the default action + value=${value//+} + _builder_default_action=$value + fi + _builder_actions+=($value) + fi + + if [[ -z "${description}" ]]; then + description=$(_builder_get_default_description "$value") + fi + _builder_params[${value}]="$description" + + shift + done + + # We'll always add a :project if no target is specified + if (( ! ${#_builder_targets[@]} )); then + _builder_targets+=(:project) + _builder_params[\:project]=$(_builder_get_default_description ":project") + fi +} + +# +# Defines an output file or folder expected to be present after successful +# completion of an action for a target. Used to skip actions for dependency +# builds. If `:target` is not provided, assumes `:project`. +# +# Relative paths are relative to script folder; absolute paths are relative +# to repository root, not filesystem root. +# +# ### Usage +# +# ```bash +# builder_describe_outputs action:target filename [...] +# ``` +# +# ### Parameters +# +# * 1: `action[:target]` action and/or target associated with file +# * 2: `filename` name of file or folder to check +# * 3+: ... repeat previous arguments for additional outputs +# +# ### Example +# +# ```bash +# builder_describe_outputs \ +# configure /node_modules \ +# build build/index.js +# ``` +# +function builder_describe_outputs() { + _builder_record_function_call builder_describe_outputs + + while [[ $# -gt 0 ]]; do + local key="$1" path="$2" action= target= + path="`_builder_expand_relative_path "$path"`" + + if [[ $key =~ : ]]; then + IFS=":" read -r action target <<< "$key" + target=":$target" + else + # Add dependency expected output file for all targets, as well as a + # wildcard target match + action="$key" + for target in "${_builder_targets[@]}"; do + _builder_dep_path[$action$target]="$path" + done + target=':*' + fi + _builder_dep_path[$action$target]="$path" + shift 2 + done + + _builder_define_default_internal_dependencies + + # We only want to define internal dependencies after both builder_parse and builder_describe_outputs have been called + if _builder_has_function_been_called builder_parse; then + _builder_add_chosen_action_target_dependencies + fi +} + +_builder_get_default_description() { + local description= + local value="$1" + # default descriptions for common build actions, targets, and options + case "$value" in + clean) description="remove build/ folder and build artifacts" ;; + configure) description="install dependencies, e.g. npm" ;; + build) description="build target(s)" ;; + test) description="run automated tests" ;; + :project) description="this project" ;; + :app) description="main app" ;; + :engine) description="engine module" ;; + :module) description="this module" ;; + :tools) description="build tools for this project" ;; + --debug) description="debug build" ;; + esac + echo "$description" +} + +_builder_parameter_error() { + local program="$1" + local type="$2" + local param="$3" + builder_echo red "$program: invalid $type: $param" + echo + builder_display_usage + exit 64 +} + +# +# Pre-initializes the color setting based on the options specified to a +# a build.sh script. This is called automatically during init. +# +# Parameters +# 1: "$@" all command-line arguments +# +_builder_check_color() { + # Process command-line arguments + while [[ $# -gt 0 ]] ; do + local key="$1" + + case "$key" in + --color) + builder_use_color true + ;; + --no-color) + builder_use_color false + ;; + esac + shift # past the processed argument + done +} + +# +# For every build action:target in _builder_chosen_action_targets, add +# its full internal dependency tree +# +_builder_add_chosen_action_target_dependencies() { + local action_target i=0 new_actions=() + + # Iterate through every action specified on command line; we use this loop + # style so that any new actions added here will also be iteratively checked + while (( $i < ${#_builder_chosen_action_targets[@]} )); do + action_target=${_builder_chosen_action_targets[$i]} + + # If we have an internal dependency for the chosen action:target pair + if [[ ! -z ${_builder_internal_dep[$action_target]+x} ]]; then + local dep_outputs=(${_builder_internal_dep[$action_target]}) dep_output + for dep_output in "${dep_outputs[@]}"; do + # If there is a defined output for this dependency + if [[ ! -z ${_builder_dep_path[$dep_output]+x} ]]; then + # If the output for the dependency is missing, or we have --force-deps + if [[ ! -e "$REPO_ROOT/${_builder_dep_path[$dep_output]}" ]] || builder_is_full_dep_build; then + # Add the dependency to the chosen action:target list + if ! _builder_item_in_array "$dep_output" "${_builder_chosen_action_targets[@]}"; then + _builder_chosen_action_targets+=($dep_output) + new_actions+=($dep_output) + fi + fi + fi + done + fi + i=$((i + 1)) + done + + if [[ ${#new_actions[@]} -gt 0 ]]; then + if builder_is_full_dep_build; then + builder_echo "Automatically running all dependency actions due to --force-deps:" + else + builder_echo "Automatically running following required actions with missing outputs:" + fi + for e in "${new_actions[@]}"; do + builder_echo "* $e" + done + fi +} + +# +# If we have described outputs, then we will setup our +# default internal dependency chain: +# +# configure <- build <- (test,install,publish) +# +_builder_define_default_internal_dependencies() { + for target in "${_builder_targets[@]}"; do + _builder_define_default_internal_deps_for_target "$target" + done + + _builder_define_default_internal_deps_for_target ':*' +} + +_builder_define_default_internal_deps_for_target() { + local target=$1 + _builder_define_default_internal_dep "$target" configure build + _builder_define_default_internal_dep "$target" build test + _builder_define_default_internal_dep "$target" build install +} + +_builder_define_default_internal_dep() { + local target=$1 dep=$2 action=$3 + if _builder_item_in_array $dep "${_builder_actions[@]}" && + _builder_item_in_array $action "${_builder_actions[@]}"; then + [[ -z ${_builder_internal_dep[$action$target]+x} ]] && + _builder_internal_dep[$action$target]=$dep$target || + _builder_internal_dep[$action$target]="${_builder_internal_dep[$action$target]} $dep$target" + fi +} + +# +# Define a local dependency between one action:target and +# another. +# +# Usage: +# builder_describe_internal_dependency action:target depaction:deptarget ... +# Parameters: +# 1: action:target The action and target that has a dependency +# 2: depaction:deptarget The dependency action and target +# Example: +# builder_describe_internal_dependency \ +# build:mac build:mac-x86_64 \ +# build:mac build:mac-arm64 +# +# Note: actions and targets must be fully specified, and this _must_ +# be called before either builder_describe_outputs or builder_parse in +# order for dependencies to be resolved. +builder_describe_internal_dependency() { + while [[ $# -gt 0 ]]; do + local action_target=$1 dep_action_target=$2 + [[ -z ${_builder_internal_dep[$action_target]+x} ]] && + _builder_internal_dep[$action_target]=$dep_action_target || + _builder_internal_dep[$action_target]="${_builder_internal_dep[$action_target]} $dep_action_target" + shift 2 + done +} + +# Initializes a build.sh script, parses command line. Will abort the script if +# invalid parameters are passed in. Use together with builder_describe which +# sets up the possible command line parameters +# +# Usage: +# builder_parse "$@" +# Parameters +# 1: $@ command-line arguments +builder_parse() { + _builder_record_function_call builder_parse + + local exp=() + builder_extra_params=() + + while [[ $# -gt 0 ]] ; do + local action= target= + local key="$1" + if [[ $key == "--" ]]; then + shift + builder_extra_params=("$@") + break + fi + + if [[ $key =~ ^- ]]; then + + # Expand short -o to --option in options lookup + if [[ ! -z ${_builder_options_short[$key]+x} ]]; then + key=${_builder_options_short[$key]} + fi + + exp+=($key) + if [[ ! -z ${_builder_options_var[$key]+x} ]]; then + shift + if [[ $# -eq 0 ]]; then + _builder_parameter_error "$0" parameter "$key" + fi + + exp+=("$1") + fi + else + # Expand comma separated values + if [[ $key =~ : ]]; then + IFS=: read -r action target <<< "$key" + else + action="$key" + target= + fi + + local actions targets + IFS=, read -r -a actions <<< "$action" + IFS=, read -r -a targets <<< "$target" + + if [[ "${#actions[@]}" -eq 0 ]]; then + # No actions, so must be at least one :target + for target in "${targets[@]}"; do + exp+=(:$target) + done + else + for action in "${actions[@]}"; do + if [[ "${#targets[@]}" -eq 0 ]]; then + # No :targets so just expand actions + exp+=($action) + else + # Actions:targets, expand them all + for target in "${targets[@]}"; do + exp+=($action:$target) + done + fi + done + fi + fi + + shift + done + + _builder_parse_expanded_parameters "${exp[@]}" +} + +_builder_parse_expanded_parameters() { + _builder_build_deps=--deps + builder_verbose= + builder_debug= + local _params=($@) + _builder_chosen_action_targets=() + _builder_chosen_options=() + _builder_current_action= + _builder_is_child=1 + + local n=0 + + # Process command-line arguments + while [[ $# -gt 0 ]] ; do + local key="$1" + local action= + local target= + local e has_action has_target has_option longhand_option + + if [[ $key =~ : ]]; then + IFS=: read -r action target <<< "$key" + target=:$target + else + action="$key" + target= + fi + + # Expand shorthand parameters + + new_action=$(_builder_expand_shorthand $action "${_builder_actions[@]}") || + case $? in + 1) + action=$new_action + ;; + *) + builder_warn "Parameter $action has $? matches, could mean any of {$new_action}" + exit 1 + ;; + esac + + new_target=$(_builder_expand_shorthand $target "${_builder_targets[@]}") || + case $? in + 1) + target=$new_target + ;; + *) + builder_warn "Parameter $target has $? matches, could mean any of {$new_target}" + exit 1 + ;; + esac + + _builder_item_in_array "$action" "${_builder_actions[@]}" && has_action=1 || has_action=0 + _builder_item_in_array "$target" "${_builder_targets[@]}" && has_target=1 || has_target=0 + + if (( has_action )) || (( has_target )); then + # Document parameter expansion for end use + _params[$n]=$action$target + fi + n=$((n + 1)) + + _builder_item_in_array "$key" "${_builder_options[@]}" && has_option=1 || has_option=0 + + if (( has_action )) && (( has_target )); then + # apply the selected action and selected target + _builder_chosen_action_targets+=("$action$target") + elif (( has_action )); then + # apply the selected action to all targets + if [[ ! -z $target ]]; then + # A target was specified but is not valid + _builder_parameter_error "$0" target "$target" + fi + + for e in "${_builder_targets[@]}"; do + _builder_chosen_action_targets+=("$action$e") + done + elif (( has_target )); then + # apply the default action to the selected target + + if [[ ! -z $action ]]; then + # An action was specified but is not valid + _builder_parameter_error "$0" action "$action" + fi + + _builder_chosen_action_targets+=("$_builder_default_action$target") + elif (( has_option )); then + _builder_chosen_options+=("$key") + if [[ ! -z ${_builder_options_var[$key]+x} ]]; then + shift + # Set the variable associated with this option to the next parameter value + # A little bit of hoop jumping here to avoid issues with cygwin paths being + # corrupted too early in the game + local varname=${_builder_options_var[$key]} + declare -g $varname="$1" + fi + + else + case "$key" in + --help|-h) + builder_display_usage + exit 0 + ;; + --color) + builder_use_color true + ;; + --no-color) + builder_use_color false + ;; + --verbose|-v) + _builder_chosen_options+=(--verbose) + builder_verbose=--verbose + ;; + --debug|-d) + _builder_chosen_options+=(--debug) + builder_debug=--debug + ;; + --deps|--no-deps|--force-deps) + _builder_build_deps=$key + ;; + --builder-dep-parent) + # internal use parameter for dependency builds - identifier of parent script + shift + builder_dep_parent="$1" + ;; + --builder-child) + _builder_is_child=0 + ;; + --builder-report-dependencies) + # internal reporting function, ignores all other parameters + _builder_report_dependencies + ;; + *) + # script does not recognize anything of action or target form at this point. + _builder_parameter_error "$0" parameter "$key" + esac + fi + shift # past the processed argument + done + + if (( ! ${#_builder_chosen_action_targets[@]} )); then + for e in "${_builder_targets[@]}"; do + _builder_chosen_action_targets+=("$_builder_default_action$e") + done + fi + + # We only want to define internal dependencies after both builder_parse and builder_describe_outputs have been called + if _builder_has_function_been_called builder_describe_outputs; then + _builder_add_chosen_action_target_dependencies + fi + + if $_builder_debug_internal; then + builder_echo_debug "Selected actions and targets:" + for e in "${_builder_chosen_action_targets[@]}"; do + builder_echo_debug "* $e" + done + builder_echo_debug + builder_echo_debug "Selected options:" + for e in "${_builder_chosen_options[@]}"; do + builder_echo_debug "* $e" + done + fi + + if builder_is_dep_build; then + builder_echo setmark "dependency build, started by $builder_dep_parent" + builder_echo grey "build.sh parameters: <${_params[@]}>" + if [[ -z ${_builder_deps_built+x} ]]; then + builder_die "FATAL ERROR: Expected '_builder_deps_built' variable to be set" + fi + elif builder_is_child_build; then + builder_echo setmark "child build, parameters: <${_params[@]}>" + if [[ -z ${_builder_deps_built+x} ]]; then + builder_die "FATAL ERROR: Expected '_builder_deps_built' variable to be set" + fi + else + # This is a top-level invocation, so we want to track which dependencies + # have been built, so they don't get built multiple times. + builder_echo setmark "build.sh parameters: <${_params[@]}>" + if [[ ${#builder_extra_params[@]} -gt 0 ]]; then + builder_echo grey "build.sh extra parameters: <${builder_extra_params[@]}>" + fi + export _builder_deps_built=`mktemp` + fi + + if builder_is_debug_build; then + BUILDER_CONFIGURATION=debug + else + BUILDER_CONFIGURATION=release + fi + + # Now that we've successfully parsed options adhering to the _builder spec, we may activate our + # action_failure and action_hanging traps. (We don't want them active on scripts not yet using + # said script.) + # + # Note: if an error occurs within a script's function in a `set -e` script, it becomes an exit + # instead for the function's caller. So, we need both `err` and `exit` here. + # See https://medium.com/@dirk.avery/the-bash-trap-trap-ce6083f36700. + trap _builder_failure_trap err exit +} + +_builder_pad() { + local count=$1 + local text1=$2 + local text2=$3 + local fmt="%-${count}s%s\n" + printf $fmt "$text1" "$text2" +} + +builder_display_usage() { + local e program description + + # Minimum padding is 12 characters, increase this if necessary + # if you add other, longer, global options (like --verbose, --debug) + local width=12 + + for e in "${!_builder_params[@]}"; do + if (( ${#e} > $width )); then + width=${#e} + fi + done + + width=$((width + 6)) + + program="$(basename "$0")" + if [[ ! -z ${_builder_description+x} ]]; then + echo "Summary:" + echo " $_builder_description" + echo + fi + echo "Script Identifier:" + echo " $THIS_SCRIPT_IDENTIFIER" + echo + + echo "Usage:" + echo " $program [options...] [action][:target]..." + echo + echo "Actions: " + + for e in "${_builder_actions[@]}"; do + if _builder_item_in_glob_array "$e" "${_builder_params[@]}"; then + description="${_builder_params[$e]}" + else + description=$(_builder_get_default_description "$e") + fi + _builder_pad $width " $e" "$description" + done + + echo + echo "Targets: " + + for e in "${_builder_targets[@]}"; do + if _builder_item_in_glob_array "$e" "${_builder_params[@]}"; then + description="${_builder_params[$e]}" + else + description=$(_builder_get_default_description "$e") + fi + _builder_pad $width " $e" "$description" + done + + echo + echo "Options: " + + for e in "${!_builder_params[@]}"; do + if [[ $e =~ ^-- ]]; then + _builder_pad $width " $e" "${_builder_params[$e]}" + fi + done + + _builder_pad $width " --verbose, -v" "Verbose logging" + _builder_pad $width " --debug, -d" "Debug build" + _builder_pad $width " --color" "Force colorized output" + _builder_pad $width " --no-color" "Never use colorized output" + if builder_has_dependencies; then + _builder_pad $width " --deps" "Build dependencies if required (default)" + _builder_pad $width " --no-deps" "Skip build of dependencies" + _builder_pad $width " --force-deps" "Reconfigure and rebuild all dependencies" + fi + _builder_pad $width " --help, -h" "Show this help" + + echo + echo "Dependencies: " + + if builder_has_dependencies; then + for d in "${_builder_deps[@]}"; do + echo " $d" + done + else + echo " This module has no dependencies" + fi + + # Defined in `builder_use_color`; this assumes that said func has been called. + local c1=$BUILDER_TERM_START + local c0=$BUILDER_TERM_END + echo + echo -e "* Specify ${c1}action:target${c0} to run a specific ${c1}action${c0} against a specific ${c1}:target${c0}." + echo -e "* If ${c1}action${c0} is specified without a ${c1}target${c0} suffix, it will be applied to all ${c1}:target${c0}s." + echo -e "* If ${c1}:target${c0} is specified without an ${c1}action${c0} prefix, ${c1}$_builder_default_action:target${c0} will be inferred." + echo -e "* If no ${c1}action${c0}, ${c1}:target${c0}, or ${c1}action:target${c0} entries are specified, ${c1}$_builder_default_action${c0} will run on all ${c1}:target${c0}s." + echo +} + +builder_finish_action() { + local result="$1" + local action="$2" target action_name + + if [[ $action =~ : ]]; then + IFS=: read -r action target <<< "$action" + target=":$target" + else + target=':*' + fi + + if [[ "$target" == ":*" ]]; then + action_name="$action" + else + action_name="$action$target" + fi + + local matched_action="$action$target" + + if [[ "$matched_action" == "${_builder_current_action}" ]]; then + if [[ $result == success ]]; then + # Sanity check: if there is a described output for this action, does the corresponding + # file or directory exist now? + if _builder_dep_output_defined $matched_action && ! _builder_dep_output_exists "$matched_action"; then + builder_echo warning "Expected output: '${_builder_dep_path[$matched_action]}'." + builder_echo warning "## $action_name completed successfully, but output does not exist" + else + builder_echo success "## $action_name completed successfully" + fi + elif [[ $result == failure ]]; then + builder_echo error "## $action_name failed" + else + builder_echo error "## $action_name failed with message: $result" + fi + + # Remove $action$target from the array; it is no longer a current action + _builder_current_action= + else + builder_echo warning "reporting result of $action_name but the action was never started!" + fi +} + +#------------------------------------------------------------------------------------------ +# Dependencies +#------------------------------------------------------------------------------------------ + +_builder_dep_output_defined() { + if [[ ! -z ${_builder_dep_path[$1]+x} ]]; then + return 0 + else + return 1 + fi +} + +_builder_dep_output_exists() { + if _builder_dep_output_defined $1 && [[ -e "$REPO_ROOT/${_builder_dep_path[$1]}" ]]; then + return 0 + else + return 1 + fi +} + +# +# Returns `0` if the dependency should be built for the given action:target +# +_builder_should_build_dep() { + local action_target="$1" + local dep="$2" + local related_actions=(${_builder_dep_related_actions[$dep]}) + + if [[ $action_target =~ ^clean ]]; then + # don't attempt to build dependencies for a 'clean' action + return 1 + fi + + if ! _builder_item_in_glob_array "$action_target" "${related_actions[@]}"; then + return 1 + fi + return 0 +} + +# +# Removes a dependency from the list of available dependencies +# +# Parameters: +# $1 path to dependency +# +builder_remove_dep() { + local dependency="$1" i + dependency="`_builder_expand_relative_path "$dependency"`" + + for i in "${!_builder_deps[@]}"; do + if [[ ${_builder_deps[i]} = $dependency ]]; then + unset '_builder_deps[i]' + fi + done + + # rebuild the array to remove the empty item + _builder_deps=( "${_builder_deps[@]}" ) +} + +# +# Configure and build all dependencies +# Later, may restrict by either action or target +# +_builder_do_build_deps() { + local action_target="$1" + + if [[ $_builder_build_deps == --no-deps ]]; then + # we've been asked to skip dependencies + return 0 + fi + + for dep in "${_builder_deps[@]}"; do + # Don't attempt to build dependencies that don't match the current + # action:target (wildcards supported for matches here) + if ! _builder_should_build_dep "$action_target" "$dep"; then + builder_echo "Skipping dependency $dep for $_builder_matched_action_name" + continue + fi + + # Only configure and build the dependency once per invocation + if builder_has_module_been_built "$dep"; then + continue + fi + + dep_target= + if [[ ! -z ${_builder_dep_targets[$dep]+x} ]]; then + # TODO: in the future split _builder_dep_targets into comma-separated + # array for multiple targets for a dep? + dep_target=${_builder_dep_targets[$dep]} + fi + + builder_set_module_has_been_built "$dep" + "$REPO_ROOT/$dep/build.sh" "configure$dep_target" "build$dep_target" \ + $builder_verbose \ + $builder_debug \ + $_builder_build_deps \ + --builder-dep-parent "$THIS_SCRIPT_IDENTIFIER" && ( + if $_builder_debug_internal; then + builder_echo success "## Dependency $dep for $_builder_matched_action_name successfully" + fi + ) || ( + result=$? + builder_echo error "## Dependency failed with exit code $result" + exit $result + ) || exit $? # Required due to above subshell masking exit + done +} + +# +# returns `0` if we are in a dependency doing a build. +# +builder_is_dep_build() { + if [[ ! -z ${builder_dep_parent+x} ]]; then + return 0 + fi + return 1 +} + +# +# returns `0` if we are in a child script doing a build +# +builder_is_child_build() { + return $_builder_is_child +} + +# +# returns `0` if we should attempt to do quick builds in a dependency build, for +# example skipping `tsc -b` where a parent may also do it; corresponds to the +# `--deps` parameter (which is the default). +# +builder_is_quick_dep_build() { + if [[ $_builder_build_deps == --deps ]]; then + return 0 + fi + return 1 +} + +# +# returns `0` if we should do a full configure and build in a dependency build; +# corresponds to the `--force-deps`` parameter. +# +builder_is_full_dep_build() { + if [[ $_builder_build_deps == --force-deps ]]; then + return 0 + fi + return 1 +} + +# +# returns `0` if the current build script has at least one dependency. +# +builder_has_dependencies() { + if [[ ${#_builder_deps[@]} -eq 0 ]]; then + return 1 + fi + return 0 +} + +# +# Tests if a dependency module has been built already in the current script +# invocation; if not running in a builder context, always returns `1` (i.e. +# "false"). +# +# ### Usage +# +# ```bash +# builder_has_module_been_built dependency-name +# ``` +# +# ### Parameters +# +# * 1: `dependency-name` the `$SCRIPT_IDENTIFIER` of the dependency +# (repo-relative path without leading `/`); or for +# external dependencies, a path-like starting with +# `/external/`. +# +# ### Examples +# +# ```bash +# if builder_has_module_been_built common/web/keyman-version; then ... +# if builder_has_module_been_built /external/npm-ci; then ... +# ``` +# +builder_has_module_been_built() { + local module="$1" + + + if [[ -z ${_builder_deps_built+x} ]]; then + # not in a builder context, so we assume a build is needed + return 1 + fi + + if [[ -f $_builder_deps_built ]] && grep -qx "$module" $_builder_deps_built; then + # dependency history file contains the dependency module + return 0 + fi + return 1 +} + +# +# Updates the dependency module build state for the current script invocation; +# if not running in a builder context, a no-op. +# +# ### Usage +# +# ```bash +# builder_set_module_has_been_built dependency-name +# ``` +# +# ### Parameters +# +# * 1: `dependency-name` the `$SCRIPT_IDENTIFIER` of the dependency +# (repo-relative path without leading `/`); or for +# external dependencies, a path-like starting with +# `/external/`. +# +# ### Examples +# +# ```bash +# builder_set_module_has_been_built common/web/keyman-version +# builder_set_module_has_been_built /external/npm-ci +# ``` +# +builder_set_module_has_been_built() { + local module="$1" + + if [[ ! -z ${_builder_deps_built+x} ]]; then + echo "$module" >> $_builder_deps_built + fi +} + +# +# Reports on all described dependencies, then exits +# used by builder-controls.sh +# +_builder_report_dependencies() { + echo "${_builder_deps[@]}" + exit 0 +} + +#------------------------------------------------------------------------------------------ +# Utility functions +#------------------------------------------------------------------------------------------ + +# +# returns `0` if we should be verbose in output +# +builder_verbose() { + if [[ $builder_verbose == --verbose ]]; then + return 0 + fi + return 1 +} + +# +# returns `0` if we are doing a debug build +# +builder_is_debug_build() { + if [[ $builder_debug == --debug ]]; then + return 0 + fi + return 1 +} + +# +# Track whether functions have already been called; +# later we may use this to prevent multiple calls to, e.g. +# builder_describe +# + +_builder_function_calls=() + +_builder_record_function_call() { + local func=$1 + if _builder_has_function_been_called $1; then + # builder_die "ERROR: $func cannot be called more than once." + return 0 + fi + _builder_function_calls+=($1) +} + +_builder_has_function_been_called() { + local func=$1 + if _builder_item_in_array $1 "${_builder_function_calls[@]}"; then + return 0 + fi + return 1 +} + +# +# Initialize builder once all functions are declared +# +_builder_init +_builder_check_color "$@" + +# _builder_debug_internal flag can be used to emit verbose logs for builder itself, +# e.g.: +# _builder_debug_internal=true ./build.sh +# +if [ -z ${_builder_debug_internal+x} ]; then + _builder_debug_internal=false +fi + +if $_builder_debug_internal; then + builder_echo_debug "Command line: $0 $@" +fi From 6eb71e391c6b835ec57d210058e80a74116ef692 Mon Sep 17 00:00:00 2001 From: Marc Durdin Date: Fri, 27 Oct 2023 13:17:23 +0700 Subject: [PATCH 03/20] chore: fixup commit --- .../workflows/auto-merge-keyman-server-pr.yml | 40 - _common/builder.inc.sh | 1894 ----------------- 2 files changed, 1934 deletions(-) delete mode 100644 .github/workflows/auto-merge-keyman-server-pr.yml delete mode 100644 _common/builder.inc.sh diff --git a/.github/workflows/auto-merge-keyman-server-pr.yml b/.github/workflows/auto-merge-keyman-server-pr.yml deleted file mode 100644 index aaceb0e25..000000000 --- a/.github/workflows/auto-merge-keyman-server-pr.yml +++ /dev/null @@ -1,40 +0,0 @@ -# -# Automatically merges pull requests opened by keyman-server -# The initial use of this action is to upload product help documentation -# with resources/build/help-keyman-com.sh. -# That script creates a PR and then this workflow will be -# triggered to merge the PR once approved by the -# auto-approve-keyman-server-pr.yml script. -# -name: Auto Merge PRs from keyman-server -on: - pull_request: - types: - - labeled - - unlabeled - - synchronize - - opened - - edited - - ready_for_review - - reopened - - unlocked - pull_request_review: - types: - - submitted - status: - check_suite: - types: - - completed -jobs: - automerge: - runs-on: ubuntu-latest - steps: - - name: auto merge PR from keyman-server - uses: "pascalgn/automerge-action@22948e0bc22f0aa673800da838595a3e7347e584" # v0.15.6 - if: github.actor == 'keyman-server' - env: - GITHUB_TOKEN: "${{ secrets.AUTOINC_GITHUB_TOKEN }}" - MERGE_LABELS: "auto" - MERGE_FORKS: false - MERGE_RETRY: 6 - MERGE_RETRY_SLEEP: 30000 diff --git a/_common/builder.inc.sh b/_common/builder.inc.sh deleted file mode 100644 index b9972e266..000000000 --- a/_common/builder.inc.sh +++ /dev/null @@ -1,1894 +0,0 @@ -#!/usr/bin/env bash - -# Note: these two lines can be uncommented for debugging and profiling build -# scripts: -# -# set -x -# PS4='+ $EPOCHREALTIME $0 $LINENO ' -# - -# -# This script contains utilities for builder_script calls -# -# * builder_ functions and variables are defined here. -# * REPO_ROOT defines the top level of this repository -# * THIS_SCRIPT_PATH defines the full path of the running script -# * THIS_SCRIPT_NAME defines the basename of the running script -# * THIS_SCRIPT_IDENTIFIER defines the repo-relative path of the running script -# * _builder_ functions and variables are internal use only for builder.inc.sh, and -# subject to change at any time. Do not use them in other scripts. -# * Note: the running script is the top-level script that includes either -# builder.inc.sh directly, or, just in the Keyman repo, via build-utils.sh. -# - -# Exit on command failure and when using unset variables: -set -eu - -# -# Prevents 'clear' on exit of mingw64 bash shell -# -SHLVL=0 - -# _builder_init is called internally at the bottom of this file after we have -# all function declarations in place. -function _builder_init() { - _builder_findRepoRoot - _builder_setBuildScriptIdentifiers - - if [[ -n "$TERM" ]] && [[ "$TERM" != "dumb" ]] && [[ "$TERM" != "unknown" ]] && [ -t 1 ]; then - builder_use_color true - else - builder_use_color false - fi -} - -function _builder_findRepoRoot() { - # We don't need readlink here because our standard script prolog does a - # readlink -f already so we will have already escaped from any symlinks - REPO_ROOT="${BASH_SOURCE[0]%/*/*}" - readonly REPO_ROOT -} - -# Used to build script-related build variables useful for referencing the calling script -# and for prefixing `builder_finish_action` outputs in order to more clearly identify the calling -# script. -# -# Assumes that `THIS_SCRIPT` has been set, typically like this: -# -# ```bash -# ## START STANDARD BUILD SCRIPT INCLUDE -# # adjust relative paths as necessary -# THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")" -# . "${THIS_SCRIPT%/*}/resources/builder.inc.sh" -# ## END STANDARD BUILD SCRIPT INCLUDE -# ``` -# -function _builder_setBuildScriptIdentifiers() { - if [ ! -z ${THIS_SCRIPT+x} ]; then - THIS_SCRIPT_PATH="${THIS_SCRIPT%/*}" - readonly THIS_SCRIPT_PATH - THIS_SCRIPT_NAME="${THIS_SCRIPT##*/}" - readonly THIS_SCRIPT_NAME - # Leaves only the part of the path based upon REPO_ROOT. - THIS_SCRIPT_IDENTIFIER=${THIS_SCRIPT_PATH#"$REPO_ROOT/"} - readonly THIS_SCRIPT_IDENTIFIER - else - builder_die "THIS_SCRIPT not defined; builder.inc.sh has not been sourced with standard script include." - fi -} - -################################################################################ -# Standard build script functions for managing command line, actions and targets -################################################################################ - -# The following allows coloring of warning and error lines, but only works if there's a -# terminal attached, so not on the build machine. - -# Overrides default colorization of logging; can be used in command-line with -# --color or --no-color, or overridden as necessary on a per-script basis. -# -# Parameters -# 1: use_color true or false -builder_use_color() { - if $1; then - # Using esc codes instead of tput for performance - COLOR_RED='\x1b[31m' # $(tput setaf 1) - COLOR_GREEN='\x1b[32m' # $(tput setaf 2) - COLOR_YELLOW='\x1b[33m' # $(tput setaf 3) - COLOR_BLUE='\x1b[34m' # $(tput setaf 4) - COLOR_PURPLE='\x1b[35m' # $(tput setaf 5) - COLOR_TEAL='\x1b[36m' # $(tput setaf 6) - COLOR_WHITE='\x1b[38;5;252m' # $(tput setaf 252) - COLOR_BRIGHT_WHITE='\x1b[38;5;255m' # $(tput setaf 255) - COLOR_GREY='\x1b[90m' # $(tput setaf 8) - COLOR_RESET='\x1b(B\x1b[m' # $(tput sgr0) - # e.g. VSCode https://code.visualstudio.com/updates/v1_69#_setmark-sequence-support - BUILDER_BOLD='\x1b[1m' # $(tput bold) - HEADING_SETMARK='\x1b]1337;SetMark\x07' - # Used by `builder_display_usage` when marking special terms (actions, targets, options) - # in the plain-text description area. - BUILDER_TERM_START="$COLOR_BLUE" - BUILDER_TERM_END="$COLOR_RESET" - else - COLOR_RED= - COLOR_GREEN= - COLOR_YELLOW= - COLOR_BLUE= - COLOR_PURPLE= - COLOR_TEAL= - COLOR_WHITE= - COLOR_BRIGHT_WHITE= - COLOR_GREY= - COLOR_RESET= - BUILDER_BOLD= - HEADING_SETMARK= - BUILDER_TERM_START="<" - BUILDER_TERM_END=">" - fi -} - -# -# Wraps the input string in `builder_display_usage` with $BUILDER_TERM_START and -# $BUILDER_TERM_END -# -function builder_term() { - echo "${BUILDER_TERM_START}$*${BUILDER_TERM_END}" -} - -function builder_die() { - echo - if [[ $# -eq 0 ]]; then - builder_echo error "Unspecified error, aborting script" - else - builder_echo error "$*" - fi - echo - exit 1 -} - -function builder_warn() { - builder_echo warning "$*" -} - -function builder_heading() { - builder_echo heading "$*" -} - - -#################################################################################### -# -# builder_ functions for standard build script parameter and process management -# -#################################################################################### - - -builder_echo() { - local color=white message= mark= - if [[ $# -gt 1 && $1 =~ ^(white|grey|green|success|blue|heading|yellow|warning|red|error|purple|brightwhite|teal|debug|setmark)$ ]]; then - color="$1" - shift - fi - message="$*" - - if [[ ! -z ${COLOR_RED+x} ]]; then - case $color in - white) color="$COLOR_WHITE" ;; - grey) color="$COLOR_GREY" ;; - green|success) color="$COLOR_GREEN" ;; - blue|heading) color="$COLOR_BLUE" ;; - yellow|warning) color="$COLOR_YELLOW" ;; - red|error) color="$COLOR_RED" ;; - purple) color="$COLOR_PURPLE" ;; - brightwhite) color="$COLOR_BRIGHTWHITE" ;; - teal|debug) color="$COLOR_TEAL" ;; - setmark) mark="$HEADING_SETMARK" color="$COLOR_PURPLE" ;; - esac - - if builder_is_dep_build; then - echo -e "$mark$COLOR_GREY[$THIS_SCRIPT_IDENTIFIER]$COLOR_RESET $color$message$COLOR_RESET" - else - echo -e "$mark$BUILDER_BOLD$COLOR_BRIGHT_WHITE[$THIS_SCRIPT_IDENTIFIER]$COLOR_RESET $color$message$COLOR_RESET" - fi - else - # Cope with the case of pre-init message and just emit plain text - echo -e "$message" - fi -} - -builder_echo_debug() { - builder_echo debug "[DEBUG] $*" -} - -# -# builder_ names are reserved. -# _builder_ names are internal use and subject to change -# - -# -# builder_extra_params: string containing all parameters after '--' -# -builder_extra_params=() - -# returns 0 if first parameter is in the array passed as second parameter -# -# Usage: -# if _builder_item_in_array "item" "${array[@]}"; then ...; fi -# Parameters: -# 1: item item to search for in array -# 2: array bash array, e.g. array=(one two three) -_builder_item_in_array() { - local e match="$1" - shift - [[ -z "$match" ]] && return 1 - for e; do [[ "$e" == $match ]] && return 0; done - return 1 -} - -# -# Returns `0` if first parameter is in the array passed as second parameter, -# where the array may contain globs. -# -# ### Parameters -# -# * 1: `item` item to search for in array -# * 2: `array` bash array, e.g. `array=(one two three)` -# -# ### Example -# -# ```bash -# array=(foo bar it*) -# if _builder_item_in_glob_array "item" "${array[@]}"; then ...; fi -# ``` -# -_builder_item_in_glob_array() { - local e match="$1" - shift - [[ -z "$match" ]] && return 1 - for e; do [[ "$match" == $e ]] && return 0; done - return 1 -} - -# -# Expands a shorthand item into a full match from an array of possibilities; -# reports an error if there are ambiguous options. Note that this function -# returns the number of matches, so 0 = no match, 1 = a precise match. -# -# ### Parameters -# -# * 1: `item` item to search for in array, e.g. "t" -# * 2: `array` bash array, e.g. `array=(one two three)` -# -# ### Description -# -# Does a substring search by regex for -# -# ### Example -# -# ```bash -# actions=(clean configure build test) -# -# action=`_builder_expand_shorthand $1 "${actions[@]}"` && -# builder_die "Unrecognized parameter $1" || -# case $? in -# 1) echo "Parameter $1 matches {$action}" -# ;; -# *) builder_die "Parameter $1 has $? matches, could mean any of {$action}" -# esac -# ``` -# -_builder_expand_shorthand() { - local item=$1 - shift - local count=0 - local result= - local string= - for e; do - if [[ $e == $item ]]; then - # Exact match trumps substring matches - echo $item - return 1 - fi - if [[ $e == "$item"* ]]; then - count=$((count+1)) - if [[ $count == 2 ]]; then - string="$result, $e" - result=$item - elif [[ $count -gt 2 ]]; then - string="$string, $e" - else - result=$e - fi - fi - done - - if [[ $count -lt 2 ]]; then - echo $result - else - echo $string - fi - return $count -} - - -_builder_item_is_target() { - local item="$1" - [[ $item =~ ^: ]] && return 1 - return 0 -} - -function _builder_warn_if_incomplete() { - if [ -n "${_builder_current_action}" ]; then - builder_echo warning "$_builder_current_action never reported success or failure" - # exit 1 # If we wanted this scenario to result in a forced build-script fail. - fi - - # Since we've already warned about this once, we'll clear the variable to prevent repetitions. - _builder_current_action= -} - -# Used by a `trap` statement later to facilitate auto-reporting failures on error detection -# without obscuring failure exit/error codes. -_builder_failure_trap() { - local trappedExitCode=$? - local action target - - _builder_cleanup_deps - - # Since 'exit' is also trapped, we can also handle end-of-script incomplete actions. - if [[ $trappedExitCode == 0 ]]; then - # While there weren't errors, were there any actions that never reported success or failure? - _builder_warn_if_incomplete - return - fi - - # If we've reached this point, we're here because an error occurred. - - # Iterate across currently-active actions and report their failures. - if [ -n "${_builder_current_action}" ]; then - action="${_builder_current_action}" - if [[ $action =~ : ]]; then - IFS=: read -r action target <<< "$action" - target=:$target - else - target=:project - fi - - builder_finish_action failure $action$target - fi - - # Make 100% sure that the exit code chains fully. - # Without this, nested scripts have failed to chain errors from npm calls past the script - # that directly executed the failed npm command. - exit $trappedExitCode -} - -# -# Removes temporary `_builder_deps_built` file when top-level build script -# finishes. -# -_builder_cleanup_deps() { - if ! builder_is_dep_build && ! builder_is_child_build && [[ ! -z ${_builder_deps_built+x} ]]; then - if $_builder_debug_internal; then - builder_echo_debug "Dependencies that were built:" - cat "$_builder_deps_built" - fi - rm -f "$_builder_deps_built" - _builder_deps_built= - fi -} - -#------------------------------------------------------------------------------------------ -# Child scripts -#------------------------------------------------------------------------------------------ - -_builder_execute_child() { - local action=$1 - local target=$2 - - local script="$THIS_SCRIPT_PATH/${_builder_target_paths[$target]}/build.sh" - - if $_builder_debug_internal; then - builder_echo heading "## $action$target starting..." - fi - - # Build array of specified inheritable options - local child_options=() - local opt - for opt in "${_builder_options_inheritable[@]}"; do - if builder_has_option $opt; then - child_options+=($opt) - fi - done - - "$script" $action \ - --builder-child \ - $_builder_build_deps \ - ${child_options[@]} \ - $builder_verbose \ - $builder_debug \ - && ( - if $_builder_debug_internal; then - builder_echo success "## $action$target completed successfully" - fi - ) || ( - result=$? - builder_echo error "## $action$target failed with exit code $result" - exit $result - ) || exit $? # Required due to above subshell masking exit -} - -_builder_run_child_action() { - local action="$1" target - - if [[ $action =~ : ]]; then - IFS=: read -r action target <<< "$action" - target=:$target - else - target=':*' - fi - - if builder_has_action $action$target; then - if [[ $target == ':*' ]]; then - # run all children in order specified in builder_describe - for target in "${_builder_targets[@]}"; do - # We have to re-test the action because the user may not - # have specified all targets in their invocation - if builder_has_action $action$target; then - if [[ ! -z ${_builder_target_paths[$target]+x} ]] && - [[ -f "$THIS_SCRIPT_PATH/${_builder_target_paths[$target]}/build.sh" ]]; then - _builder_execute_child $action $target - fi - fi - done - else - # If specified explicitly, we assume existence of a child build script. - _builder_execute_child $action $target - fi - fi -} - -# -# Executes the specified actions on all child targets, or on the specified -# targets. A child target is any target which has a sub-folder of the same name -# as the target. However, the actions will only be run if they have been -# specified by the user on the command-line. -# -# ### Usage -# -# ```bash -# builder_run_child_actions action1 [...] -# ``` -# -# ### Parameters -# -# 1...: action[:target] name of action:target to run -# -# ### Example -# -# ```bash -# builder_run_child_actions configure build test install -# ``` -# -builder_run_child_actions() { - while [[ $# -gt 0 ]]; do - local action="$1" - _builder_run_child_action "$action" - shift - done -} - -#------------------------------------------------------------------------------------------ -# Various API endpoints -#------------------------------------------------------------------------------------------ - -# -# Builds the standardized `action:target` string for the specified action-target -# pairing and also returns 0 if the user has asked to perform it on the command -# line. Otherwise, returns 0 and sets an empty string in place of the matched -# pair. -# -# The string will be set as `_builder_matched_action`, which is for -# builder.inc.sh internal use, used by `builder_start_action`. -# -# ### Usage -# -# ```bash -# if build_has_action action[:target]; then ...; fi -# ```` -# -# ### Parameters -# -# 1: action[:target] name of action:target -# -# ### Example -# -# ```bash -# if builder_has_action build:app; then ... -# ``` -# -builder_has_action() { - local action="$1" target - - if [[ $action =~ : ]]; then - IFS=: read -r action target <<< "$action" - target=:$target - else - target=':*' - fi - - if _builder_item_in_array "$action$target" "${_builder_chosen_action_targets[@]}"; then - # To avoid WET re-processing of the $action$target string set - _builder_matched_action="$action$target" - if [[ $target == ':*' ]]; then - _builder_matched_action_name="$action" - else - _builder_matched_action_name="$action$target" - fi - return 0 - else - _builder_matched_action= - return 1 - fi -} - -# -# Wraps builder_start_action and builder_finish action for single-command -# actions. Can be used together with a local function for multi-command actions. -# Do be aware that this pseudo-closure style cannot be mixed with operators such -# as `<`, `>`, `&&`, `;`, `()` and so on. -# -# ### Usage -# -# ```bash -# builder_run_action action[:target] command [command-params...] -# ``` -# -# ### Parameters -# -# * 1: `action[:target]` name of action, and optionally also target, if target -# excluded starts for all defined targets -# * 2: command command to run if action is started -# * 3...: command-params parameters for command -# -# ### Example -# -# ```bash -# function do_build() { -# mkdir -p build/cjs-src -# npm run build -# } -# -# builder_run_action clean rm -rf ./build/ ./tsconfig.tsbuildinfo -# builder_run_action configure verify_npm_setup -# builder_run_action build do_build -# ``` -# -function builder_run_action() { - local action=$1 - shift - if builder_start_action $action; then - ($@) - builder_finish_action success $action - fi - return 0 -} - -# -# Returns `0` if the user has asked to perform action on target on the command -# line, and then starts the action. Should be paired with -# `builder_finish_action`. -# -# ### Usage -# -# ```bash -# if builder_start_action action[:target]; then ...; fi -# ``` -# -# ### Parameters -# -# * 1: `action[:target]` name of action, and optionally also target, if -# target excluded starts for all defined targets -# -# ### Example -# -# ```bash -# if builder_start_action build:app; then ... -# ``` -# -builder_start_action() { - if builder_has_action $1; then - # In a dependency quick build (the default), determine whether we actually - # need to run this step. Uses data passed to builder_describe_outputs to - # verify whether a target output is present. - if builder_is_dep_build && - ! builder_is_full_dep_build && - _builder_dep_output_exists $_builder_matched_action; then - builder_echo "skipping $_builder_matched_action_name, up-to-date" - return 1 - fi - - builder_echo blue "## $_builder_matched_action_name starting..." - if [ -n "${_builder_current_action}" ]; then - _builder_warn_if_incomplete - fi - _builder_current_action="$_builder_matched_action" - - # Build dependencies as required - _builder_do_build_deps "$_builder_matched_action" - return 0 - else - return 1 - fi -} - -# -# Returns 0 if the user has --option on the command line -# -# Usage: -# if build_has_option option; then ...; fi -# Parameters: -# 1: option name of option, i.e. --option -# Example: -# if build_has_option --debug; then -# -builder_has_option() { - local option="$1" - - if _builder_item_in_array "$option" "${_builder_chosen_options[@]}"; then - return 0 - fi - return 1 -} - -# -# Trims leading and following whitespace from the input parameters -# -# ### Usage -# -# ```bash -# my_string="$(builder_trim "$my_string")" -# ``` -# -# ### Parameters -# -# * `my_string` An input string -# -builder_trim() { - local var="$*" - # remove leading whitespace characters - var="${var#"${var%%[![:space:]]*}"}" - # remove trailing whitespace characters - var="${var%"${var##*[![:space:]]}"}" - printf '%s' "$var" -} - -# -# Expands an in-repo-relative path to a repo-relative path. A path starting with -# `/` is expected to be relative to repo root, not filesystem root. Otherwise, -# it's relative to current script path, not current working directory. The -# returned path will not have a prefix `/`, and will be relative to -# `$REPO_ROOT`. Assumes realpath is installed (brew coreutils on macOS). -# -_builder_expand_relative_path() { - local path="$1" - if [[ "$path" =~ ^/ ]]; then - echo "${path:1}" - else - realpath --canonicalize-missing --relative-to="$REPO_ROOT" "$THIS_SCRIPT_PATH/$path" - fi -} - -# -# Expands an `[action][:target]` string, replacing missing values with `*`, -# for example: -# -# * `build` --> `build:*` -# * `build:app` --> `build:app` -# * `:app` --> `*:app` -# -# Supports multiple action:targets in the string -# -_builder_expand_action_target() { - local input="$1" target= action= - if [[ "$input" =~ : ]]; then - IFS=":" read -r action target <<< "$input" - else - action="$input" - fi - - if [[ -z "$action" ]]; then - action='*' - fi - if [[ -z "$target" ]]; then - target='*' - fi - - echo "$action:$target" -} - -_builder_expand_action_targets() { - local input=($1) e output=() - for e in "${input[@]}"; do - e="$(_builder_expand_action_target "$e")" - output+=("$e") - done - if [[ ${#output[@]} == 0 ]]; then - echo "*:*" - else - echo "${output[@]}" - fi -} - -_builder_child_base= -# -# Describes the path from the build script's working directory to the common subfolder -# containing child scripts / projects without defined custom paths. -# -# This function must be called to set the child base path before builder_describe is -# called in order to work correctly. Furthermore, note that this setting will be -# ignored by targets with custom paths. -# -# ### Usage -# -# ```bash -# builder_set_child_base path -# ``` -# -# ### Parameters -# -# * `path` The relative path from the directory containing the calling script to -# the base folder to use for child-project detection and resolution -# -builder_set_child_base() { - _builder_child_base="$1/" -} - -# -# Describes a build script, defines available parameters and their meanings. Use -# together with `builder_parse` to process input parameters. -# -# ### Usage -# -# ```bash -# builder_describe description param_desc... -# ``` -# -# ### Parameters -# -# * `description` A short description of what the script does. -# * `param_desc` Space separated name and description of parameter, e.g. -# `"build Builds the target"` -# This parameter may be repeated to describe all parameters. -# -# There are four types of parameters that may be specified: -# -# * **Option:** `"--option[,-o][+][=var] [One line description]"` -# -# All options must have a longhand form with two prefix hyphens, -# e.g. `--option`. The `,-o` shorthand form is optional. When testing if -# the option is set with `builder_has_option`, always use the longhand -# form. -# -# If `=var` is specified, then the next parameter will be a variable stored in -# `$var` for that option. e.g. `--option=opt` means `$opt` will have the value -# `"foo"` when the script is called for `--option foo`. -# -# If `+` is specified, then the option will be passed to child scripts. All -# child scripts _must_ accept this option, or they will fail. It is acceptable -# for the child script to declare the option but ignore it. However, the option -# will _not_ be passed to dependencies. -# -# * **Action**: `"action [One line description]"` -# -# Actions must be a single word, lower case. To specify an action as the -# default, append a `+` to the action name, e.g. `"test+ Test the project"`. -# If there is no default specified, then it will be `build`. -# -# * **Target:** `":target[=path] [One line description]"` -# -# A target always starts with colon, e.g. `:project`. If a folder exists with -# the same name as a target, then that automatically denotes the target as a -# "child project". This can simplify parent-child style scripts, using the -# [`builder_run_child_actions`] function. -# -# A child project with an alternate folder can also be specified by appending -# `=path` to the target definition, for example `:app=src/app`. Where -# possible, avoid differences in names of child projects and folders. -# -# * **Dependency:** `"@/path/to/dependency[:target] [action][:target] ..."`` -# -# A dependency always starts with `@`. The path to the dependency will be -# relative to the build script folder, or to the root of the repository, if -# the path starts with `/`, not to the root of the file system. It is an error -# to specify a dependency outside the repo root. -# -# Relative paths will be expanded to full paths, again, relative to the root -# of the repository. -# -# A dependency definition can include a target for that dependency, for -# example, `"@/core:arch"`. This would build only the ':arch' target for the -# core module. -# -# Dependencies may be limited to specific `action:target` pairs on the current -# script. If not specified, dependencies will be built for all actions on all -# targets. Either `action` or `:target` may be omitted, and multiple actions -# and targets may be specified, space separated. -# -builder_describe() { - _builder_record_function_call builder_describe - - _builder_description="$1" - _builder_actions=() - _builder_targets=() - _builder_options=() - _builder_deps=() # array of all dependencies for this script - _builder_options_inheritable=() # array of all options that should be passed to child scripts - _builder_default_action=build - declare -A -g _builder_params - declare -A -g _builder_options_short - declare -A -g _builder_options_var - declare -A -g _builder_dep_path # array of output files for action:target pairs - declare -A -g _builder_dep_related_actions # array of action:targets associated with a given dependency - declare -A -g _builder_internal_dep # array of internal action:targets dependency relationships - declare -A -g _builder_target_paths # array of target child project paths - declare -A -g _builder_dep_targets # array of :targets given for a specific dependency (comma separated if more than one) - shift - local sub=() - # describe each target, action, and option possibility - while [[ $# -gt 0 ]]; do - local key="$1" - local value="$key" - local description= - if [[ $key =~ [[:space:]] ]]; then - IFS=" " read -r -a sub <<< "$key" - value="${sub[0]}" - description="$(builder_trim "${sub[@]:1}")" - fi - - if [[ $value =~ ^: ]]; then - # Parameter is a target - local target_path= - if [[ $value =~ = ]]; then - # The target has a custom child project path - IFS="=" read -r -a sub <<< "$value" - target_path="${sub[@]:1}" - value="${sub[0]}" - if [[ ! -d "$THIS_SCRIPT_PATH/$target_path" ]]; then - builder_die "Target path '$target_path' for $value does not exist." - fi - else - # If the target name matches a folder name, implicitly - # make it available as a child project - if [[ -d "$THIS_SCRIPT_PATH/$_builder_child_base${value:1}" ]]; then - target_path="$_builder_child_base${value:1}" - fi - fi - _builder_targets+=($value) - if [[ ! -z "$target_path" ]]; then - _builder_target_paths[$value]="$target_path" - fi - elif [[ $value =~ ^@ ]]; then - # Parameter is a dependency - local dependency="${value:1}" - local dependency_target= # all targets - if [[ $dependency =~ : ]]; then - IFS=":" read -r dependency dependency_target <<< "$dependency" - dependency_target=":$dependency_target" - fi - - dependency="`_builder_expand_relative_path "$dependency"`" - _builder_deps+=($dependency) - _builder_dep_related_actions[$dependency]="$(_builder_expand_action_targets "$description")" - _builder_dep_targets[$dependency]="$dependency_target" - # We don't want to add deps to params, so shift+continue - shift - continue - elif [[ $value =~ ^-- ]]; then - # Parameter is an option - # Look for a shorthand version of the option - local option_var= - if [[ $value =~ = ]]; then - IFS="=" read -r -a sub <<< "$value" - option_var="${sub[@]:1}" - value="${sub[0]}" - fi - - local is_inheritable=false - - if [[ $value =~ \+$ ]]; then - # final + indicates that option is inheritable - is_inheritable=true - value="${value:0:-1}" - fi - - if [[ $value =~ , ]]; then - IFS="," read -r -a sub <<< "$value" - local option_long="${sub[0]}" - local option_short="${sub[@]:1}" - _builder_options+=($option_long) - if $is_inheritable; then - _builder_options_inheritable+=($option_long) - fi - _builder_options_short[$option_short]="$option_long" - if [[ ! -z "$option_var" ]]; then - _builder_options_var[$option_long]="$option_var" - fi - value="$option_long, $option_short" - else - _builder_options+=($value) - if $is_inheritable; then - _builder_options_inheritable+=($value) - fi - if [[ ! -z "$option_var" ]]; then - _builder_options_var[$value]="$option_var" - fi - fi - - if [[ ! -z $option_var ]]; then - value="$value $option_var" - fi - - else - # Parameter is an action - if [[ $value =~ \+$ ]]; then - # If the action name has a '+' suffix then it is the default action - value=${value//+} - _builder_default_action=$value - fi - _builder_actions+=($value) - fi - - if [[ -z "${description}" ]]; then - description=$(_builder_get_default_description "$value") - fi - _builder_params[${value}]="$description" - - shift - done - - # We'll always add a :project if no target is specified - if (( ! ${#_builder_targets[@]} )); then - _builder_targets+=(:project) - _builder_params[\:project]=$(_builder_get_default_description ":project") - fi -} - -# -# Defines an output file or folder expected to be present after successful -# completion of an action for a target. Used to skip actions for dependency -# builds. If `:target` is not provided, assumes `:project`. -# -# Relative paths are relative to script folder; absolute paths are relative -# to repository root, not filesystem root. -# -# ### Usage -# -# ```bash -# builder_describe_outputs action:target filename [...] -# ``` -# -# ### Parameters -# -# * 1: `action[:target]` action and/or target associated with file -# * 2: `filename` name of file or folder to check -# * 3+: ... repeat previous arguments for additional outputs -# -# ### Example -# -# ```bash -# builder_describe_outputs \ -# configure /node_modules \ -# build build/index.js -# ``` -# -function builder_describe_outputs() { - _builder_record_function_call builder_describe_outputs - - while [[ $# -gt 0 ]]; do - local key="$1" path="$2" action= target= - path="`_builder_expand_relative_path "$path"`" - - if [[ $key =~ : ]]; then - IFS=":" read -r action target <<< "$key" - target=":$target" - else - # Add dependency expected output file for all targets, as well as a - # wildcard target match - action="$key" - for target in "${_builder_targets[@]}"; do - _builder_dep_path[$action$target]="$path" - done - target=':*' - fi - _builder_dep_path[$action$target]="$path" - shift 2 - done - - _builder_define_default_internal_dependencies - - # We only want to define internal dependencies after both builder_parse and builder_describe_outputs have been called - if _builder_has_function_been_called builder_parse; then - _builder_add_chosen_action_target_dependencies - fi -} - -_builder_get_default_description() { - local description= - local value="$1" - # default descriptions for common build actions, targets, and options - case "$value" in - clean) description="remove build/ folder and build artifacts" ;; - configure) description="install dependencies, e.g. npm" ;; - build) description="build target(s)" ;; - test) description="run automated tests" ;; - :project) description="this project" ;; - :app) description="main app" ;; - :engine) description="engine module" ;; - :module) description="this module" ;; - :tools) description="build tools for this project" ;; - --debug) description="debug build" ;; - esac - echo "$description" -} - -_builder_parameter_error() { - local program="$1" - local type="$2" - local param="$3" - builder_echo red "$program: invalid $type: $param" - echo - builder_display_usage - exit 64 -} - -# -# Pre-initializes the color setting based on the options specified to a -# a build.sh script. This is called automatically during init. -# -# Parameters -# 1: "$@" all command-line arguments -# -_builder_check_color() { - # Process command-line arguments - while [[ $# -gt 0 ]] ; do - local key="$1" - - case "$key" in - --color) - builder_use_color true - ;; - --no-color) - builder_use_color false - ;; - esac - shift # past the processed argument - done -} - -# -# For every build action:target in _builder_chosen_action_targets, add -# its full internal dependency tree -# -_builder_add_chosen_action_target_dependencies() { - local action_target i=0 new_actions=() - - # Iterate through every action specified on command line; we use this loop - # style so that any new actions added here will also be iteratively checked - while (( $i < ${#_builder_chosen_action_targets[@]} )); do - action_target=${_builder_chosen_action_targets[$i]} - - # If we have an internal dependency for the chosen action:target pair - if [[ ! -z ${_builder_internal_dep[$action_target]+x} ]]; then - local dep_outputs=(${_builder_internal_dep[$action_target]}) dep_output - for dep_output in "${dep_outputs[@]}"; do - # If there is a defined output for this dependency - if [[ ! -z ${_builder_dep_path[$dep_output]+x} ]]; then - # If the output for the dependency is missing, or we have --force-deps - if [[ ! -e "$REPO_ROOT/${_builder_dep_path[$dep_output]}" ]] || builder_is_full_dep_build; then - # Add the dependency to the chosen action:target list - if ! _builder_item_in_array "$dep_output" "${_builder_chosen_action_targets[@]}"; then - _builder_chosen_action_targets+=($dep_output) - new_actions+=($dep_output) - fi - fi - fi - done - fi - i=$((i + 1)) - done - - if [[ ${#new_actions[@]} -gt 0 ]]; then - if builder_is_full_dep_build; then - builder_echo "Automatically running all dependency actions due to --force-deps:" - else - builder_echo "Automatically running following required actions with missing outputs:" - fi - for e in "${new_actions[@]}"; do - builder_echo "* $e" - done - fi -} - -# -# If we have described outputs, then we will setup our -# default internal dependency chain: -# -# configure <- build <- (test,install,publish) -# -_builder_define_default_internal_dependencies() { - for target in "${_builder_targets[@]}"; do - _builder_define_default_internal_deps_for_target "$target" - done - - _builder_define_default_internal_deps_for_target ':*' -} - -_builder_define_default_internal_deps_for_target() { - local target=$1 - _builder_define_default_internal_dep "$target" configure build - _builder_define_default_internal_dep "$target" build test - _builder_define_default_internal_dep "$target" build install -} - -_builder_define_default_internal_dep() { - local target=$1 dep=$2 action=$3 - if _builder_item_in_array $dep "${_builder_actions[@]}" && - _builder_item_in_array $action "${_builder_actions[@]}"; then - [[ -z ${_builder_internal_dep[$action$target]+x} ]] && - _builder_internal_dep[$action$target]=$dep$target || - _builder_internal_dep[$action$target]="${_builder_internal_dep[$action$target]} $dep$target" - fi -} - -# -# Define a local dependency between one action:target and -# another. -# -# Usage: -# builder_describe_internal_dependency action:target depaction:deptarget ... -# Parameters: -# 1: action:target The action and target that has a dependency -# 2: depaction:deptarget The dependency action and target -# Example: -# builder_describe_internal_dependency \ -# build:mac build:mac-x86_64 \ -# build:mac build:mac-arm64 -# -# Note: actions and targets must be fully specified, and this _must_ -# be called before either builder_describe_outputs or builder_parse in -# order for dependencies to be resolved. -builder_describe_internal_dependency() { - while [[ $# -gt 0 ]]; do - local action_target=$1 dep_action_target=$2 - [[ -z ${_builder_internal_dep[$action_target]+x} ]] && - _builder_internal_dep[$action_target]=$dep_action_target || - _builder_internal_dep[$action_target]="${_builder_internal_dep[$action_target]} $dep_action_target" - shift 2 - done -} - -# Initializes a build.sh script, parses command line. Will abort the script if -# invalid parameters are passed in. Use together with builder_describe which -# sets up the possible command line parameters -# -# Usage: -# builder_parse "$@" -# Parameters -# 1: $@ command-line arguments -builder_parse() { - _builder_record_function_call builder_parse - - local exp=() - builder_extra_params=() - - while [[ $# -gt 0 ]] ; do - local action= target= - local key="$1" - if [[ $key == "--" ]]; then - shift - builder_extra_params=("$@") - break - fi - - if [[ $key =~ ^- ]]; then - - # Expand short -o to --option in options lookup - if [[ ! -z ${_builder_options_short[$key]+x} ]]; then - key=${_builder_options_short[$key]} - fi - - exp+=($key) - if [[ ! -z ${_builder_options_var[$key]+x} ]]; then - shift - if [[ $# -eq 0 ]]; then - _builder_parameter_error "$0" parameter "$key" - fi - - exp+=("$1") - fi - else - # Expand comma separated values - if [[ $key =~ : ]]; then - IFS=: read -r action target <<< "$key" - else - action="$key" - target= - fi - - local actions targets - IFS=, read -r -a actions <<< "$action" - IFS=, read -r -a targets <<< "$target" - - if [[ "${#actions[@]}" -eq 0 ]]; then - # No actions, so must be at least one :target - for target in "${targets[@]}"; do - exp+=(:$target) - done - else - for action in "${actions[@]}"; do - if [[ "${#targets[@]}" -eq 0 ]]; then - # No :targets so just expand actions - exp+=($action) - else - # Actions:targets, expand them all - for target in "${targets[@]}"; do - exp+=($action:$target) - done - fi - done - fi - fi - - shift - done - - _builder_parse_expanded_parameters "${exp[@]}" -} - -_builder_parse_expanded_parameters() { - _builder_build_deps=--deps - builder_verbose= - builder_debug= - local _params=($@) - _builder_chosen_action_targets=() - _builder_chosen_options=() - _builder_current_action= - _builder_is_child=1 - - local n=0 - - # Process command-line arguments - while [[ $# -gt 0 ]] ; do - local key="$1" - local action= - local target= - local e has_action has_target has_option longhand_option - - if [[ $key =~ : ]]; then - IFS=: read -r action target <<< "$key" - target=:$target - else - action="$key" - target= - fi - - # Expand shorthand parameters - - new_action=$(_builder_expand_shorthand $action "${_builder_actions[@]}") || - case $? in - 1) - action=$new_action - ;; - *) - builder_warn "Parameter $action has $? matches, could mean any of {$new_action}" - exit 1 - ;; - esac - - new_target=$(_builder_expand_shorthand $target "${_builder_targets[@]}") || - case $? in - 1) - target=$new_target - ;; - *) - builder_warn "Parameter $target has $? matches, could mean any of {$new_target}" - exit 1 - ;; - esac - - _builder_item_in_array "$action" "${_builder_actions[@]}" && has_action=1 || has_action=0 - _builder_item_in_array "$target" "${_builder_targets[@]}" && has_target=1 || has_target=0 - - if (( has_action )) || (( has_target )); then - # Document parameter expansion for end use - _params[$n]=$action$target - fi - n=$((n + 1)) - - _builder_item_in_array "$key" "${_builder_options[@]}" && has_option=1 || has_option=0 - - if (( has_action )) && (( has_target )); then - # apply the selected action and selected target - _builder_chosen_action_targets+=("$action$target") - elif (( has_action )); then - # apply the selected action to all targets - if [[ ! -z $target ]]; then - # A target was specified but is not valid - _builder_parameter_error "$0" target "$target" - fi - - for e in "${_builder_targets[@]}"; do - _builder_chosen_action_targets+=("$action$e") - done - elif (( has_target )); then - # apply the default action to the selected target - - if [[ ! -z $action ]]; then - # An action was specified but is not valid - _builder_parameter_error "$0" action "$action" - fi - - _builder_chosen_action_targets+=("$_builder_default_action$target") - elif (( has_option )); then - _builder_chosen_options+=("$key") - if [[ ! -z ${_builder_options_var[$key]+x} ]]; then - shift - # Set the variable associated with this option to the next parameter value - # A little bit of hoop jumping here to avoid issues with cygwin paths being - # corrupted too early in the game - local varname=${_builder_options_var[$key]} - declare -g $varname="$1" - fi - - else - case "$key" in - --help|-h) - builder_display_usage - exit 0 - ;; - --color) - builder_use_color true - ;; - --no-color) - builder_use_color false - ;; - --verbose|-v) - _builder_chosen_options+=(--verbose) - builder_verbose=--verbose - ;; - --debug|-d) - _builder_chosen_options+=(--debug) - builder_debug=--debug - ;; - --deps|--no-deps|--force-deps) - _builder_build_deps=$key - ;; - --builder-dep-parent) - # internal use parameter for dependency builds - identifier of parent script - shift - builder_dep_parent="$1" - ;; - --builder-child) - _builder_is_child=0 - ;; - --builder-report-dependencies) - # internal reporting function, ignores all other parameters - _builder_report_dependencies - ;; - *) - # script does not recognize anything of action or target form at this point. - _builder_parameter_error "$0" parameter "$key" - esac - fi - shift # past the processed argument - done - - if (( ! ${#_builder_chosen_action_targets[@]} )); then - for e in "${_builder_targets[@]}"; do - _builder_chosen_action_targets+=("$_builder_default_action$e") - done - fi - - # We only want to define internal dependencies after both builder_parse and builder_describe_outputs have been called - if _builder_has_function_been_called builder_describe_outputs; then - _builder_add_chosen_action_target_dependencies - fi - - if $_builder_debug_internal; then - builder_echo_debug "Selected actions and targets:" - for e in "${_builder_chosen_action_targets[@]}"; do - builder_echo_debug "* $e" - done - builder_echo_debug - builder_echo_debug "Selected options:" - for e in "${_builder_chosen_options[@]}"; do - builder_echo_debug "* $e" - done - fi - - if builder_is_dep_build; then - builder_echo setmark "dependency build, started by $builder_dep_parent" - builder_echo grey "build.sh parameters: <${_params[@]}>" - if [[ -z ${_builder_deps_built+x} ]]; then - builder_die "FATAL ERROR: Expected '_builder_deps_built' variable to be set" - fi - elif builder_is_child_build; then - builder_echo setmark "child build, parameters: <${_params[@]}>" - if [[ -z ${_builder_deps_built+x} ]]; then - builder_die "FATAL ERROR: Expected '_builder_deps_built' variable to be set" - fi - else - # This is a top-level invocation, so we want to track which dependencies - # have been built, so they don't get built multiple times. - builder_echo setmark "build.sh parameters: <${_params[@]}>" - if [[ ${#builder_extra_params[@]} -gt 0 ]]; then - builder_echo grey "build.sh extra parameters: <${builder_extra_params[@]}>" - fi - export _builder_deps_built=`mktemp` - fi - - if builder_is_debug_build; then - BUILDER_CONFIGURATION=debug - else - BUILDER_CONFIGURATION=release - fi - - # Now that we've successfully parsed options adhering to the _builder spec, we may activate our - # action_failure and action_hanging traps. (We don't want them active on scripts not yet using - # said script.) - # - # Note: if an error occurs within a script's function in a `set -e` script, it becomes an exit - # instead for the function's caller. So, we need both `err` and `exit` here. - # See https://medium.com/@dirk.avery/the-bash-trap-trap-ce6083f36700. - trap _builder_failure_trap err exit -} - -_builder_pad() { - local count=$1 - local text1=$2 - local text2=$3 - local fmt="%-${count}s%s\n" - printf $fmt "$text1" "$text2" -} - -builder_display_usage() { - local e program description - - # Minimum padding is 12 characters, increase this if necessary - # if you add other, longer, global options (like --verbose, --debug) - local width=12 - - for e in "${!_builder_params[@]}"; do - if (( ${#e} > $width )); then - width=${#e} - fi - done - - width=$((width + 6)) - - program="$(basename "$0")" - if [[ ! -z ${_builder_description+x} ]]; then - echo "Summary:" - echo " $_builder_description" - echo - fi - echo "Script Identifier:" - echo " $THIS_SCRIPT_IDENTIFIER" - echo - - echo "Usage:" - echo " $program [options...] [action][:target]..." - echo - echo "Actions: " - - for e in "${_builder_actions[@]}"; do - if _builder_item_in_glob_array "$e" "${_builder_params[@]}"; then - description="${_builder_params[$e]}" - else - description=$(_builder_get_default_description "$e") - fi - _builder_pad $width " $e" "$description" - done - - echo - echo "Targets: " - - for e in "${_builder_targets[@]}"; do - if _builder_item_in_glob_array "$e" "${_builder_params[@]}"; then - description="${_builder_params[$e]}" - else - description=$(_builder_get_default_description "$e") - fi - _builder_pad $width " $e" "$description" - done - - echo - echo "Options: " - - for e in "${!_builder_params[@]}"; do - if [[ $e =~ ^-- ]]; then - _builder_pad $width " $e" "${_builder_params[$e]}" - fi - done - - _builder_pad $width " --verbose, -v" "Verbose logging" - _builder_pad $width " --debug, -d" "Debug build" - _builder_pad $width " --color" "Force colorized output" - _builder_pad $width " --no-color" "Never use colorized output" - if builder_has_dependencies; then - _builder_pad $width " --deps" "Build dependencies if required (default)" - _builder_pad $width " --no-deps" "Skip build of dependencies" - _builder_pad $width " --force-deps" "Reconfigure and rebuild all dependencies" - fi - _builder_pad $width " --help, -h" "Show this help" - - echo - echo "Dependencies: " - - if builder_has_dependencies; then - for d in "${_builder_deps[@]}"; do - echo " $d" - done - else - echo " This module has no dependencies" - fi - - # Defined in `builder_use_color`; this assumes that said func has been called. - local c1=$BUILDER_TERM_START - local c0=$BUILDER_TERM_END - echo - echo -e "* Specify ${c1}action:target${c0} to run a specific ${c1}action${c0} against a specific ${c1}:target${c0}." - echo -e "* If ${c1}action${c0} is specified without a ${c1}target${c0} suffix, it will be applied to all ${c1}:target${c0}s." - echo -e "* If ${c1}:target${c0} is specified without an ${c1}action${c0} prefix, ${c1}$_builder_default_action:target${c0} will be inferred." - echo -e "* If no ${c1}action${c0}, ${c1}:target${c0}, or ${c1}action:target${c0} entries are specified, ${c1}$_builder_default_action${c0} will run on all ${c1}:target${c0}s." - echo -} - -builder_finish_action() { - local result="$1" - local action="$2" target action_name - - if [[ $action =~ : ]]; then - IFS=: read -r action target <<< "$action" - target=":$target" - else - target=':*' - fi - - if [[ "$target" == ":*" ]]; then - action_name="$action" - else - action_name="$action$target" - fi - - local matched_action="$action$target" - - if [[ "$matched_action" == "${_builder_current_action}" ]]; then - if [[ $result == success ]]; then - # Sanity check: if there is a described output for this action, does the corresponding - # file or directory exist now? - if _builder_dep_output_defined $matched_action && ! _builder_dep_output_exists "$matched_action"; then - builder_echo warning "Expected output: '${_builder_dep_path[$matched_action]}'." - builder_echo warning "## $action_name completed successfully, but output does not exist" - else - builder_echo success "## $action_name completed successfully" - fi - elif [[ $result == failure ]]; then - builder_echo error "## $action_name failed" - else - builder_echo error "## $action_name failed with message: $result" - fi - - # Remove $action$target from the array; it is no longer a current action - _builder_current_action= - else - builder_echo warning "reporting result of $action_name but the action was never started!" - fi -} - -#------------------------------------------------------------------------------------------ -# Dependencies -#------------------------------------------------------------------------------------------ - -_builder_dep_output_defined() { - if [[ ! -z ${_builder_dep_path[$1]+x} ]]; then - return 0 - else - return 1 - fi -} - -_builder_dep_output_exists() { - if _builder_dep_output_defined $1 && [[ -e "$REPO_ROOT/${_builder_dep_path[$1]}" ]]; then - return 0 - else - return 1 - fi -} - -# -# Returns `0` if the dependency should be built for the given action:target -# -_builder_should_build_dep() { - local action_target="$1" - local dep="$2" - local related_actions=(${_builder_dep_related_actions[$dep]}) - - if [[ $action_target =~ ^clean ]]; then - # don't attempt to build dependencies for a 'clean' action - return 1 - fi - - if ! _builder_item_in_glob_array "$action_target" "${related_actions[@]}"; then - return 1 - fi - return 0 -} - -# -# Removes a dependency from the list of available dependencies -# -# Parameters: -# $1 path to dependency -# -builder_remove_dep() { - local dependency="$1" i - dependency="`_builder_expand_relative_path "$dependency"`" - - for i in "${!_builder_deps[@]}"; do - if [[ ${_builder_deps[i]} = $dependency ]]; then - unset '_builder_deps[i]' - fi - done - - # rebuild the array to remove the empty item - _builder_deps=( "${_builder_deps[@]}" ) -} - -# -# Configure and build all dependencies -# Later, may restrict by either action or target -# -_builder_do_build_deps() { - local action_target="$1" - - if [[ $_builder_build_deps == --no-deps ]]; then - # we've been asked to skip dependencies - return 0 - fi - - for dep in "${_builder_deps[@]}"; do - # Don't attempt to build dependencies that don't match the current - # action:target (wildcards supported for matches here) - if ! _builder_should_build_dep "$action_target" "$dep"; then - builder_echo "Skipping dependency $dep for $_builder_matched_action_name" - continue - fi - - # Only configure and build the dependency once per invocation - if builder_has_module_been_built "$dep"; then - continue - fi - - dep_target= - if [[ ! -z ${_builder_dep_targets[$dep]+x} ]]; then - # TODO: in the future split _builder_dep_targets into comma-separated - # array for multiple targets for a dep? - dep_target=${_builder_dep_targets[$dep]} - fi - - builder_set_module_has_been_built "$dep" - "$REPO_ROOT/$dep/build.sh" "configure$dep_target" "build$dep_target" \ - $builder_verbose \ - $builder_debug \ - $_builder_build_deps \ - --builder-dep-parent "$THIS_SCRIPT_IDENTIFIER" && ( - if $_builder_debug_internal; then - builder_echo success "## Dependency $dep for $_builder_matched_action_name successfully" - fi - ) || ( - result=$? - builder_echo error "## Dependency failed with exit code $result" - exit $result - ) || exit $? # Required due to above subshell masking exit - done -} - -# -# returns `0` if we are in a dependency doing a build. -# -builder_is_dep_build() { - if [[ ! -z ${builder_dep_parent+x} ]]; then - return 0 - fi - return 1 -} - -# -# returns `0` if we are in a child script doing a build -# -builder_is_child_build() { - return $_builder_is_child -} - -# -# returns `0` if we should attempt to do quick builds in a dependency build, for -# example skipping `tsc -b` where a parent may also do it; corresponds to the -# `--deps` parameter (which is the default). -# -builder_is_quick_dep_build() { - if [[ $_builder_build_deps == --deps ]]; then - return 0 - fi - return 1 -} - -# -# returns `0` if we should do a full configure and build in a dependency build; -# corresponds to the `--force-deps`` parameter. -# -builder_is_full_dep_build() { - if [[ $_builder_build_deps == --force-deps ]]; then - return 0 - fi - return 1 -} - -# -# returns `0` if the current build script has at least one dependency. -# -builder_has_dependencies() { - if [[ ${#_builder_deps[@]} -eq 0 ]]; then - return 1 - fi - return 0 -} - -# -# Tests if a dependency module has been built already in the current script -# invocation; if not running in a builder context, always returns `1` (i.e. -# "false"). -# -# ### Usage -# -# ```bash -# builder_has_module_been_built dependency-name -# ``` -# -# ### Parameters -# -# * 1: `dependency-name` the `$SCRIPT_IDENTIFIER` of the dependency -# (repo-relative path without leading `/`); or for -# external dependencies, a path-like starting with -# `/external/`. -# -# ### Examples -# -# ```bash -# if builder_has_module_been_built common/web/keyman-version; then ... -# if builder_has_module_been_built /external/npm-ci; then ... -# ``` -# -builder_has_module_been_built() { - local module="$1" - - - if [[ -z ${_builder_deps_built+x} ]]; then - # not in a builder context, so we assume a build is needed - return 1 - fi - - if [[ -f $_builder_deps_built ]] && grep -qx "$module" $_builder_deps_built; then - # dependency history file contains the dependency module - return 0 - fi - return 1 -} - -# -# Updates the dependency module build state for the current script invocation; -# if not running in a builder context, a no-op. -# -# ### Usage -# -# ```bash -# builder_set_module_has_been_built dependency-name -# ``` -# -# ### Parameters -# -# * 1: `dependency-name` the `$SCRIPT_IDENTIFIER` of the dependency -# (repo-relative path without leading `/`); or for -# external dependencies, a path-like starting with -# `/external/`. -# -# ### Examples -# -# ```bash -# builder_set_module_has_been_built common/web/keyman-version -# builder_set_module_has_been_built /external/npm-ci -# ``` -# -builder_set_module_has_been_built() { - local module="$1" - - if [[ ! -z ${_builder_deps_built+x} ]]; then - echo "$module" >> $_builder_deps_built - fi -} - -# -# Reports on all described dependencies, then exits -# used by builder-controls.sh -# -_builder_report_dependencies() { - echo "${_builder_deps[@]}" - exit 0 -} - -#------------------------------------------------------------------------------------------ -# Utility functions -#------------------------------------------------------------------------------------------ - -# -# returns `0` if we should be verbose in output -# -builder_verbose() { - if [[ $builder_verbose == --verbose ]]; then - return 0 - fi - return 1 -} - -# -# returns `0` if we are doing a debug build -# -builder_is_debug_build() { - if [[ $builder_debug == --debug ]]; then - return 0 - fi - return 1 -} - -# -# Track whether functions have already been called; -# later we may use this to prevent multiple calls to, e.g. -# builder_describe -# - -_builder_function_calls=() - -_builder_record_function_call() { - local func=$1 - if _builder_has_function_been_called $1; then - # builder_die "ERROR: $func cannot be called more than once." - return 0 - fi - _builder_function_calls+=($1) -} - -_builder_has_function_been_called() { - local func=$1 - if _builder_item_in_array $1 "${_builder_function_calls[@]}"; then - return 0 - fi - return 1 -} - -# -# Initialize builder once all functions are declared -# -_builder_init -_builder_check_color "$@" - -# _builder_debug_internal flag can be used to emit verbose logs for builder itself, -# e.g.: -# _builder_debug_internal=true ./build.sh -# -if [ -z ${_builder_debug_internal+x} ]; then - _builder_debug_internal=false -fi - -if $_builder_debug_internal; then - builder_echo_debug "Command line: $0 $@" -fi From 34ea6c1586b47d5f6e1ea67b0174e7052d48f513 Mon Sep 17 00:00:00 2001 From: Marc Durdin Date: Fri, 27 Oct 2023 13:24:29 +0700 Subject: [PATCH 04/20] chore: tweak conditions on yaml --- .../workflows/auto-approve-and-merge-keyman-server-pr.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/auto-approve-and-merge-keyman-server-pr.yml b/.github/workflows/auto-approve-and-merge-keyman-server-pr.yml index 62a77f640..585b42b8b 100644 --- a/.github/workflows/auto-approve-and-merge-keyman-server-pr.yml +++ b/.github/workflows/auto-approve-and-merge-keyman-server-pr.yml @@ -9,19 +9,19 @@ name: Auto Approve PRs from keyman-server on: pull_request_target + branches: + - 'auto/**' jobs: auto-approve: + if: github.actor == 'keyman-server' runs-on: ubuntu-latest permissions: pull-requests: write steps: - name: Approve pull request - if: contains(github.event.pull_request.labels.*.name, 'auto') - if: github.actor == 'keyman-server' run: | gh pr review --approve - name: Enable auto-merge - if: contains(github.event.pull_request.labels.*.name, 'auto') run: | gh pr merge --merge --auto From 9d19cb75f2caf40e64012c210dea3d49c7baf9b2 Mon Sep 17 00:00:00 2001 From: Marc Durdin Date: Fri, 27 Oct 2023 14:21:44 +0700 Subject: [PATCH 05/20] chore: simplify yaml script --- ...uto-approve-and-merge-keyman-server-pr.yml | 21 ++++++++++++------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/.github/workflows/auto-approve-and-merge-keyman-server-pr.yml b/.github/workflows/auto-approve-and-merge-keyman-server-pr.yml index 585b42b8b..9458d3a58 100644 --- a/.github/workflows/auto-approve-and-merge-keyman-server-pr.yml +++ b/.github/workflows/auto-approve-and-merge-keyman-server-pr.yml @@ -6,22 +6,27 @@ # triggered to approve the PR, and then auto-merge-keyman-server-pr.yml # will merge it # -name: Auto Approve PRs from keyman-server +name: Auto Approve and Merge PRs from keyman-server on: pull_request_target - branches: - - 'auto/**' jobs: auto-approve: - if: github.actor == 'keyman-server' + if: github.actor == 'keyman-server' && startsWith(github.head_ref, 'auto/') runs-on: ubuntu-latest - permissions: - pull-requests: write + env: + GH_TOKEN: ${{ github.token }} + permissions: write-all steps: + - name: Checkout + uses: actions/checkout@v4.1.1 + with: + sparse-checkout: | + README.md + sparse-checkout-cone-mode: false - name: Approve pull request run: | - gh pr review --approve + gh pr review --approve ${{github.head_ref}} - name: Enable auto-merge run: | - gh pr merge --merge --auto + gh pr merge --merge --auto ${{github.head_ref}} From e607d683ded59e4ea004980bd6c25a89eb90c4eb Mon Sep 17 00:00:00 2001 From: Marc Durdin Date: Fri, 27 Oct 2023 14:25:50 +0700 Subject: [PATCH 06/20] chore: tweak comment --- .../auto-approve-and-merge-keyman-server-pr.yml | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/.github/workflows/auto-approve-and-merge-keyman-server-pr.yml b/.github/workflows/auto-approve-and-merge-keyman-server-pr.yml index 9458d3a58..427ef7de9 100644 --- a/.github/workflows/auto-approve-and-merge-keyman-server-pr.yml +++ b/.github/workflows/auto-approve-and-merge-keyman-server-pr.yml @@ -1,10 +1,8 @@ # -# Automatically approves pull requests opened by keyman-server -# The initial use of this action is to upload product help documentation -# with resources/build/help-keyman-com.sh. -# That script creates a PR and then this workflow will be -# triggered to approve the PR, and then auto-merge-keyman-server-pr.yml -# will merge it +# Automatically approves and queues for merge any pull requests with a branch +# name starting with auto/, that are opened by keyman-server. This action is +# used to merge product help documentation from keymanapp/keyman and also for +# keyboard documentation PRs. # name: Auto Approve and Merge PRs from keyman-server From 6631950f9f1aad0da1b8407e07df49822ec1548b Mon Sep 17 00:00:00 2001 From: Keyman Build Server Date: Fri, 27 Oct 2023 13:00:07 -0400 Subject: [PATCH 07/20] auto: Keyboard help deployment --- .../2.0.3/TigrinyaEtTyping-English.pdf | Bin 0 -> 453764 bytes .../2.0.3/gff_tigrinya_ethiopia.php | 332 ++++++++++++++++++ keyboard/gff_tigrinya_ethiopia/2.0.3/kb.css | 185 ++++++++++ 3 files changed, 517 insertions(+) create mode 100644 keyboard/gff_tigrinya_ethiopia/2.0.3/TigrinyaEtTyping-English.pdf create mode 100644 keyboard/gff_tigrinya_ethiopia/2.0.3/gff_tigrinya_ethiopia.php create mode 100644 keyboard/gff_tigrinya_ethiopia/2.0.3/kb.css diff --git a/keyboard/gff_tigrinya_ethiopia/2.0.3/TigrinyaEtTyping-English.pdf b/keyboard/gff_tigrinya_ethiopia/2.0.3/TigrinyaEtTyping-English.pdf new file mode 100644 index 0000000000000000000000000000000000000000..a23529ef2438510fe0cde5118cf393b3e0ae4c0c GIT binary patch literal 453764 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%0Dt)Frjz*y15fY0YY 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⪖gZ7OEb039I0S* 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

The Geʾez Frontier Foundation Keyboard for Ethiopian Tigrinya Language

+ +

Introduction

+ +

+This is a Tigrinya (ti-ET, ትግርኛ-ኢትዮጵያ) language mnemonic input method that applies Ethiopian writing conventions. +It requires a font supporting Ethiopic script under the Unicode 3.0 standard. +The Tigrinya keyboard is “mnemonic” and designed for the US English QWERTY keyboard. This means that the keyboard is designed to +be intuitive and natural with respect to the sounds available in the English language via the standard English keyboard (known as QWERTY). +The keyboard also supports mnemonic mappings from non-English letters found in European keyboards. +

+ +

A more complete typing manual is provided as a PDF file with this distribution.

+ + +

Typing Letters

+ +

+Only the letters used in Ethiopian Tigrinya may be typed with this keyboard. To type additional Ethiopic letters used by other languages, please +download a keyboard for the language needed or the language-neutral keyboard that supports composition of all Ethiopic symbols found in Unicode 4.1. +

+ + +

+Special Notes: +

+
    +
  • Apostrophe, ' , is a terminator following a ሳድስ (6th form) letter. For example: gebr'iel becomes ገብርኤል, gebriel becomes ገብሬል.
  • +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 ቤተሰብካዕብሣልስግዕዝራብዕኃምስሳድስሳብዕዘመደ፡ግዕዝዘመደ፡ካዕብዘመደ፡ሣልስዘመደ፡ራብዕዘመደ፡ኃምስ 
ቤተሰብKey+[eE]+[uU]+[iI]+[aA]+[iI][eE] +[oO]+[uU][eE]+[uU][uU]+[uU][iI]+[uU][aA]+[uU][iI][eE] 
ሆይh     h
ላዊ[lL]    l
ሐውትH    ħ
ማይ[mM]    m
ሠውትss    s
ርእስ[rR]    r
ሳትs    s
ሻ-ሳት[xX]    ʃ
ቃፍq
ቓ-ቃፍQʁ
ቤት[bB]    b
ቨ-ቤት[vV]    v
ታውt    t
ቻ-ታውc    ʧ
ኀርምhhh
ነሐስn    n
ኘ-ነሐስN    ɲ
አልፍe
aa

u

i

a

ie

e

o
     ʔ
ካፍkk
ኻ-ካፍKx
ወዌ[wW]     w
ዐይን 
A

Au /
U

Ai /
I

Aa

Aie /
Ie

Ae /
E

Ao /
O
     ʕ
ዘይz    z
ዠ-ዘይZ    ʒ
የመን[yY]     y
ድንት[dD]    d
ጀ-ድንት[jJ]    ʤ
ገምል[gG]g
ጠይትT    
ጨ-ጠይትC    ʧʼ
ጰይትP    
ጸደይS    
ፀጳSS     
አፍ[fF]    f
ፕሳp    p
  +u+i+a+eɨ/-+o+ʷə+ʷu+ʷi+ʷa+ʷeIPA
+
+ + +

Consonant and Vowel Marks

+ +
+

Dots can be added above letters to indicate a stressed vowel or consonant using “CTRL + .”. For example:

+ + + + + + + + + + + +
ኣባ CTRL .   ⇒   ኣባ፞ (“abaa”, “a” is stressed)
ኣባ፞ CTRL .   ⇒   ኣባ፟ (“abba”, “b” is stressed)
ኣባ፟ CTRL .   ⇒   ኣባ፝ (“abbaa”, “b” and “a” are stressed)
+
+ +

Punctuation

+ +
+ +

Ethiopic Punctuation

+ + + + + + + + + +
Keystrokes:::,,,;:-:+:#<><<>>
Punctuation«»
+ + +

Period, ‘.’ may also be used to enter ‘።’. When a number follows ‘፡’, ‘፣’ and ‘።’ they will change back to their Latin form automatically. For example:

+ +123፣456 ⇒ 123,456
+12።50 ⇒ 12.50
+12፡50 ⇒ 12:50 +
+ +

Keyboard Punctuation

+

All regular punctuation on your keyboard remains available. Most punctuation can be typed +with a single keystroke as usual. Those used to input Ethiopic symbols can be entered by +hitting the punctuation key two or more times until it appears.

+ + +
+ +

Typing Numerals

+ +
+ +

Ethiopic Numerals

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Keystrokes#1#2#3#4#5#6#7#8#9
Numeral
Keystrokes#10#20#30#40#50#60#70#80#90
Numeral
Keystrokes#100#1000#10000
Numeral፲፻
+

Numeral composition will continue as 0s are entered up to ፼፼ (100,000,000).

+ +
+ + +


+
+ +

License

+ +

This keyboard is copyright © Geʾez Frontier Foundation, 2009-2023. It is distributed under the MIT free software license:

+ +
+ + + + +
+
The MIT License (MIT)
+ +

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+ +

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

+ +

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

+
+
+ + diff --git a/keyboard/gff_tigrinya_ethiopia/2.0.3/kb.css b/keyboard/gff_tigrinya_ethiopia/2.0.3/kb.css new file mode 100644 index 000000000..008988270 --- /dev/null +++ b/keyboard/gff_tigrinya_ethiopia/2.0.3/kb.css @@ -0,0 +1,185 @@ +/* + * Pastel colors for GFF Keyboards + * Primarily from: https://www.behance.net/gallery/125405749/Top-10-trending-pastel-color-palettes-in-2021 + */ + +/* functional keys */ +.phone div.kmw-key.kmw-key-shift[id$='K_LOPT'], .tablet div.kmw-key.kmw-key-shift[id$='K_LOPT'], +.phone div.kmw-key.kmw-key-shift[id$='K_BKSP'], .tablet div.kmw-key.kmw-key-shift[id$='K_BKSP'], +.phone div.kmw-key.kmw-key-shift[id$='K_ENTER'], .tablet div.kmw-key.kmw-key-shift[id$='K_ENTER'], +.phone div.kmw-key.kmw-key-shift[id$='K_SHIFT'], .tablet div.kmw-key.kmw-key-shift[id$='K_SHIFT'], +.phone div.kmw-key.kmw-key-special[id$='K_SHIFT'], .tablet div.kmw-key.kmw-key-special[id$='K_SHIFT'], +.phone div.kmw-key.kmw-key-shift[id$='T_EMPTY'], .tablet div.kmw-key.kmw-key-shift[id$='T_EMPTY'] +/* { background: #f3d6ce ; color: black; } */ + { background: #ece1d5 ; color: black ; } + +/* default layers: latin punctuation */ +.phone div.kmw-key.kmw-key-default[id$='K_SPACE'], .tablet div.kmw-key.kmw-key-default[id$='K_SPACE'] + { background: #f4eee7 ; color: #f4eee7 ; } /* eceae4 */ + +.phone div.kmw-key.kmw-key-default[id$='K_1+shift'], .tablet div.kmw-key.kmw-key-default[id$='K_1+shift'], /* ! */ +.phone div.kmw-key.kmw-key-default[id$='U_1362'], .tablet div.kmw-key.kmw-key-default[id$='U_1362'], /* ። */ +.tablet div.kmw-key.kmw-key-default[id$='U_2019'] + { background: #f4eee7 ; color: black ; } + +/* tigrinya-extra layer: punctuation */ +.phone div.kmw-key.kmw-key-default[id$='extra-U_2039'], .tablet div.kmw-key.kmw-key-default[id$='extra-U_2039'], /* ‹ */ +.phone div.kmw-key.kmw-key-default[id$='extra-U_203A'], .tablet div.kmw-key.kmw-key-default[id$='extra-U_203A'], /* › */ +.phone div.kmw-key.kmw-key-default[id$='extra-U_00AB'], .tablet div.kmw-key.kmw-key-default[id$='extra-U_00AB'], /* « */ +.phone div.kmw-key.kmw-key-default[id$='extra-U_00BB'], .tablet div.kmw-key.kmw-key-default[id$='extra-U_00BB'] /* » */ + { background: #ebece6 ; color: black ; } + +/* ethiopic-punctuation layer: punctuation */ +.phone div.kmw-key.kmw-key-default[id$='punctuation-U_2039'], .tablet div.kmw-key.kmw-key-default[id$='punctuation-U_2039'], /* ‹ */ +.phone div.kmw-key.kmw-key-default[id$='punctuation-U_203A'], .tablet div.kmw-key.kmw-key-default[id$='punctuation-U_203A'], /* › */ +.phone div.kmw-key.kmw-key-default[id$='punctuation-U_00AB'], .tablet div.kmw-key.kmw-key-default[id$='punctuation-U_00AB'], /* « */ +.phone div.kmw-key.kmw-key-default[id$='punctuation-U_00BB'], .tablet div.kmw-key.kmw-key-default[id$='punctuation-U_00BB'] /* » */ +{ background: #ebece6 ; color: black ; } + + +/* tigrinya-extra layer: ethiopic punctuation */ +.phone div.kmw-key.kmw-key-default[id$='extra-U_1361'], .tablet div.kmw-key.kmw-key-default[id$='extra-U_1361'], /* ፡ */ +.phone div.kmw-key.kmw-key-default[id$='extra-U_1362'], .tablet div.kmw-key.kmw-key-default[id$='extra-U_1362'], /* ። */ +.phone div.kmw-key.kmw-key-default[id$='extra-U_1363'], .tablet div.kmw-key.kmw-key-default[id$='extra-U_1363'], /* ፣ */ +.phone div.kmw-key.kmw-key-default[id$='extra-U_1364'], .tablet div.kmw-key.kmw-key-default[id$='extra-U_1364'], /* ፤ */ +.phone div.kmw-key.kmw-key-default[id$='extra-U_1365'], .tablet div.kmw-key.kmw-key-default[id$='extra-U_1365'], /* ፥ */ +.phone div.kmw-key.kmw-key-default[id$='extra-U_1366'], .tablet div.kmw-key.kmw-key-default[id$='extra-U_1366'], /* ፦ */ +.phone div.kmw-key.kmw-key-default[id$='extra-U_1367'], .tablet div.kmw-key.kmw-key-default[id$='extra-U_1367'], /* ፧ */ +.phone div.kmw-key.kmw-key-default[id$='extra-U_1360'], .tablet div.kmw-key.kmw-key-default[id$='extra-U_1360'], /* ፠ */ +.phone div.kmw-key.kmw-key-default[id$='extra-U_1368'], .tablet div.kmw-key.kmw-key-default[id$='extra-U_1368'] /* ፨ */ + { background: #f4eee7 ; color: black ; } + +/* tigrinya-extra layer: western numerals */ +.phone div.kmw-key.kmw-key-default[id$='K_1'], .tablet div.kmw-key.kmw-key-default[id$='K_1'], /* 1 */ +.phone div.kmw-key.kmw-key-default[id$='K_2'], .tablet div.kmw-key.kmw-key-default[id$='K_2'], /* 2 */ +.phone div.kmw-key.kmw-key-default[id$='K_3'], .tablet div.kmw-key.kmw-key-default[id$='K_3'], /* 3 */ +.phone div.kmw-key.kmw-key-default[id$='K_4'], .tablet div.kmw-key.kmw-key-default[id$='K_4'], /* 4 */ +.phone div.kmw-key.kmw-key-default[id$='K_5'], .tablet div.kmw-key.kmw-key-default[id$='K_5'], /* 5 */ +.phone div.kmw-key.kmw-key-default[id$='K_6'], .tablet div.kmw-key.kmw-key-default[id$='K_6'], /* 6 */ +.phone div.kmw-key.kmw-key-default[id$='K_7'], .tablet div.kmw-key.kmw-key-default[id$='K_7'], /* 7 */ +.phone div.kmw-key.kmw-key-default[id$='K_8'], .tablet div.kmw-key.kmw-key-default[id$='K_8'], /* 8 */ +.phone div.kmw-key.kmw-key-default[id$='K_9'], .tablet div.kmw-key.kmw-key-default[id$='K_9'], /* 9 */ +.phone div.kmw-key.kmw-key-default[id$='K_0'], .tablet div.kmw-key.kmw-key-default[id$='K_0'], /* 0 */ +.tablet div.kmw-key.kmw-key-default[id$='K_HYPHEN'], .tablet div.kmw-key.kmw-key-default[id$='K_EQUAL'], +.kmw-keyboard-gff_tigrinya_ethiopia #tigrinya-etens-extra-T_MORE /* ▶ */ + { background: #ebece6 ; color: black ; } + +/* tigrinya-extra layer: ge'ez numerals */ +.phone div.kmw-key.kmw-key-default[id$='K_SPACE'], .tablet div.kmw-key.kmw-key-default[id$='K_SPACE'], +.phone div.kmw-key.kmw-key-default[id$='U_1369'], .tablet div.kmw-key.kmw-key-default[id$='U_1369'], /* ፩ */ +.phone div.kmw-key.kmw-key-default[id$='U_136A'], .tablet div.kmw-key.kmw-key-default[id$='U_136A'], /* ፪ */ +.phone div.kmw-key.kmw-key-default[id$='U_136B'], .tablet div.kmw-key.kmw-key-default[id$='U_136B'], /* ፫ */ +.phone div.kmw-key.kmw-key-default[id$='U_136C'], .tablet div.kmw-key.kmw-key-default[id$='U_136C'], /* ፬ */ +.phone div.kmw-key.kmw-key-default[id$='U_136D'], .tablet div.kmw-key.kmw-key-default[id$='U_136D'], /* ፭ */ +.phone div.kmw-key.kmw-key-default[id$='U_136E'], .tablet div.kmw-key.kmw-key-default[id$='U_136E'], /* ፮ */ +.phone div.kmw-key.kmw-key-default[id$='U_136F'], .tablet div.kmw-key.kmw-key-default[id$='U_136F'], /* ፯ */ +.phone div.kmw-key.kmw-key-default[id$='U_1370'], .tablet div.kmw-key.kmw-key-default[id$='U_1370'], /* ፰ */ +.phone div.kmw-key.kmw-key-default[id$='U_1371'], .tablet div.kmw-key.kmw-key-default[id$='U_1371'], /* ፱ */ +.phone div.kmw-key.kmw-key-default[id$='U_1372+shift'], .tablet div.kmw-key.kmw-key-default[id$='U_1372'], /* ፲ */ +.kmw-keyboard-gff_tigrinya_ethiopia #tigrinya-tens-extra-T_MORE /* ▶ */ + { background: #ece1d5 ; color: black ; } + +.phone div.kmw-key.kmw-key-default[id$='U_1372'], .tablet div.kmw-key.kmw-key-default[id$='U_1372'], /* ፲ */ +.phone div.kmw-key.kmw-key-default[id$='U_1373'], .tablet div.kmw-key.kmw-key-default[id$='U_1373'], /* ፳ */ +.phone div.kmw-key.kmw-key-default[id$='U_1374'], .tablet div.kmw-key.kmw-key-default[id$='U_1374'], /* ፴ */ +.phone div.kmw-key.kmw-key-default[id$='U_1375'], .tablet div.kmw-key.kmw-key-default[id$='U_1375'], /* ፵ */ +.phone div.kmw-key.kmw-key-default[id$='U_1376'], .tablet div.kmw-key.kmw-key-default[id$='U_1376'], /* ፶ */ +.phone div.kmw-key.kmw-key-default[id$='U_1377'], .tablet div.kmw-key.kmw-key-default[id$='U_1377'], /* ፷ */ +.phone div.kmw-key.kmw-key-default[id$='U_1378'], .tablet div.kmw-key.kmw-key-default[id$='U_1378'], /* ፸ */ +.phone div.kmw-key.kmw-key-default[id$='U_1379'], .tablet div.kmw-key.kmw-key-default[id$='U_1379'], /* ፹ */ +.phone div.kmw-key.kmw-key-default[id$='U_137A'], .tablet div.kmw-key.kmw-key-default[id$='U_137A'], /* ፺ */ +.phone div.kmw-key.kmw-key-default[id$='U_137B'], .tablet div.kmw-key.kmw-key-default[id$='U_137B'], /* ፻ */ +.phone div.kmw-key.kmw-key-default[id$='T_THOUSAND'], .tablet div.kmw-key.kmw-key-default[id$='T_THOUSAND'], /* ፲፻ */ +.phone div.kmw-key.kmw-key-default[id$='U_137C'], .tablet div.kmw-key.kmw-key-default[id$='U_137C'], /* ፼ */ +/* .kmw-keyboard-gff_tigrinya_ethiopia #tigrinya-extra-T_MORE, */ +.phone div.kmw-key.kmw-key-special[id$='extra-T_MORE'] /* ▶ */ + { background: #f3d6ce ; color: black ; } + +/* default layer ግዕዝ */ + +.phone div.kmw-key.kmw-key-default[id$='T_ግዕዝ'], .tablet div.kmw-key.kmw-key-default[id$='T_ግዕዝ'] + { background: #e2f0cb ; color: black; } /*#baed91 */ + +/* default layer ካዕብ */ +.phone div.kmw-key.kmw-key-default[id$='T_ካዕብ'], .tablet div.kmw-key.kmw-key-default[id$='T_ካዕብ'] + { background: #ffffb5 ; color: black; } /* #faf884 */ + +/* default layer ሣልስ */ +.phone div.kmw-key.kmw-key-default[id$='T_ሣልስ'], .tablet div.kmw-key.kmw-key-default[id$='T_ሣልስ'] + { background: #fea3aa ; color: black; } + +/* default layer ራብዕ */ +.phone div.kmw-key.kmw-key-default[id$='T_ራብዕ'], .tablet div.kmw-key.kmw-key-default[id$='T_ራብዕ'] + { background: #ccf1ff ; color: black; } /* #b2cefe */ + +/* default layer ኃምስ */ +.phone div.kmw-key.kmw-key-default[id$='T_ኃምስ'], .tablet div.kmw-key.kmw-key-default[id$='T_ኃምስ'] + { background: #e0d7ff ; color: black; } /* #f2a2e8 */ + +/* default layer ሳድስ - used primarily when a sadis letter appears in a popup or on the -extra layers */ +/* +.phone div.kmw-key.kmw-key-default[id$='T_ሳድስ'], .tablet div.kmw-key.kmw-key-default[id$='T_ሳድስ'] + { background: #eceae4; color: black; } + */ + +/* default layer ሳብዕ */ +.phone div.kmw-key.kmw-key-default[id$='T_ሳብዕ'], .tablet div.kmw-key.kmw-key-default[id$='T_ሳብዕ'] + { background: #fad6b6 ; color: black; } /* f8b88b*/ + +/* ዘመደ-ግዕዝ */ +.phone div.kmw-key.kmw-key-default[id$='T_ዘመደ_ግዕዝ'], .tablet div.kmw-key.kmw-key-default[id$='T_ዘመደ_ግዕዝ'] + { + background: #ffffff; color: black ; + background: linear-gradient(180deg, #ffffff 0%, #e2f0cb 100%); + } + +/* ዘመደ-ካዕብ */ +.phone div.kmw-key.kmw-key-default[id$='T_ዘመደ_ካዕብ'], .tablet div.kmw-key.kmw-key-default[id$='T_ዘመደ_ካዕብ'] + { + background: #ffffff; color: black ; + background: linear-gradient(180deg, #ffffff 0%, #ffffb5 100%); + } + +/* ዘመደ-ሣልስ */ +.phone div.kmw-key.kmw-key-default[id$='T_ዘመደ_ሣልስ'], .tablet div.kmw-key.kmw-key-default[id$='T_ዘመደ_ሣልስ'] + { + background: #ffffff; color: black ; + background: linear-gradient(180deg, #ffffff 0%, #fea3aa 100%); + } + +/* ዘመደ-ራብዕ */ +.phone div.kmw-key.kmw-key-default[id$='T_ዘመደ_ራብዕ'], .tablet div.kmw-key.kmw-key-default[id$='T_ዘመደ_ራብዕ'], +.phone div.kmw-key.kmw-key-default[id$='T_WWA'], .tablet div.kmw-key.kmw-key-default[id$='T_WWA'] + { + background: #ffffff; color: black ; + background: linear-gradient(180deg, #ffffff 0%, #ccf1ff 100%); + } + +/* ዘመደ-ኃምስ */ +.phone div.kmw-key.kmw-key-default[id$='T_ዘመደ_ኃምስ'], .tablet div.kmw-key.kmw-key-default[id$='T_ዘመደ_ኃምስ'] + { + background: #ffffff; color: black ; + background: linear-gradient(180deg, #ffffff 0%, #e0d7ff 100%); + } + +/* resets sadis letters that appear in popups of the default layers, this is needed for when the keys appear on the -extra layer */ +.tablet.ios .kmw-keyboard-gff_tigrinya_ethiopia #punctuation-K_HYPHEN, .tablet.ios .kmw-keyboard-gff_tigrinya_ethiopia #punctuation-K_EQUAL, +.ios .kmw-keyboard-gff_tigrinya_ethiopia #punctuation-K_1\+shift, .phone.ios .kmw-keyboard-gff_tigrinya_ethiopia #punctuation-2-K_1\+shift, +.tablet.ios .kmw-keyboard-gff_tigrinya_ethiopia #ethiopic-punctuation-U_1362, +.phone.ios .kmw-key.kmw-key-default[id^='popup'][id$='U_1366'], .tablet.ios .kmw-key.kmw-key-default[id^='popup'][id$='U_1366'], +.phone.ios .kmw-key.kmw-key-default[id^='popup'][id$='U_00AB'], .tablet.ios .kmw-key.kmw-key-default[id^='popup'][id$='U_00AB'], +.phone.ios .kmw-key.kmw-key-default[id^='popup'][id$='U_00BB'], .tablet.ios .kmw-key.kmw-key-default[id^='popup'][id$='U_00BB'] + {background: #fdfdfe ; color: black ; } + +.tablet.android .kmw-keyboard-gff_tigrinya_ethiopia #punctuation-K_HYPHEN, .tablet.android .kmw-keyboard-gff_tigrinya_ethiopia #punctuation-K_EQUAL, +.android .kmw-keyboard-gff_tigrinya_ethiopia #punctuation-K_1\+shift, .phone.android .kmw-keyboard-gff_tigrinya_ethiopia #punctuation-2-K_1\+shift, +.tablet.android .kmw-keyboard-gff_tigrinya_ethiopia #ethiopic-punctuation-U_1362, +.phone.android .kmw-key.kmw-key-default[id^='popup'][id$='U_1366'], .tablet.android .kmw-key.kmw-key-default[id^='popup'][id$='U_1366'], +.phone.android .kmw-key.kmw-key-default[id^='popup'][id$='U_00AB'], .tablet.android .kmw-key.kmw-key-default[id^='popup'][id$='U_00AB'], +.phone.android .kmw-key.kmw-key-default[id^='popup'][id$='U_00BB'], .tablet.android .kmw-key.kmw-key-default[id^='popup'][id$='U_00BB'] + {background: #777 ; color: white ; } + +.phone div.kmw-key.kmw-key-default[id$='U_135D'], .tablet div.kmw-key.kmw-key-default[id$='U_135D'], +.phone div.kmw-key.kmw-key-default[id$='U_135E'], .tablet div.kmw-key.kmw-key-default[id$='U_135E'], +.phone div.kmw-key.kmw-key-default[id$='U_135F'], .tablet div.kmw-key.kmw-key-default[id$='U_135F'] +{background: #E2EADA ; color: black ; } From 702cbbac81746470ed244e375d22f7a60791325a Mon Sep 17 00:00:00 2001 From: Keyman Build Server Date: Fri, 27 Oct 2023 13:52:36 -0400 Subject: [PATCH 08/20] auto: Keyboard help deployment --- .../fv_dene_zhatie/10.0.2/fv_dene_zhatie.php | 58 +++ .../10.0.2/fv_dene_zhatieU_.png | Bin 0 -> 12800 bytes .../9.2.5/Kwakwala_LiqwalaU_.png | Bin 0 -> 16106 bytes .../9.2.5/fv_kwakwala_liqwala.php | 54 +++ .../2.0.3/TigrinyaEtTyping-English.pdf | Bin 0 -> 453764 bytes .../2.0.3/gff_tigrinya_ethiopia.php | 332 ++++++++++++++++++ keyboard/gff_tigrinya_ethiopia/2.0.3/kb.css | 185 ++++++++++ 7 files changed, 629 insertions(+) create mode 100644 keyboard/fv_dene_zhatie/10.0.2/fv_dene_zhatie.php create mode 100644 keyboard/fv_dene_zhatie/10.0.2/fv_dene_zhatieU_.png create mode 100644 keyboard/fv_kwakwala_liqwala/9.2.5/Kwakwala_LiqwalaU_.png create mode 100644 keyboard/fv_kwakwala_liqwala/9.2.5/fv_kwakwala_liqwala.php create mode 100644 keyboard/gff_tigrinya_ethiopia/2.0.3/TigrinyaEtTyping-English.pdf create mode 100644 keyboard/gff_tigrinya_ethiopia/2.0.3/gff_tigrinya_ethiopia.php create mode 100644 keyboard/gff_tigrinya_ethiopia/2.0.3/kb.css diff --git a/keyboard/fv_dene_zhatie/10.0.2/fv_dene_zhatie.php b/keyboard/fv_dene_zhatie/10.0.2/fv_dene_zhatie.php new file mode 100644 index 000000000..1736517ef --- /dev/null +++ b/keyboard/fv_dene_zhatie/10.0.2/fv_dene_zhatie.php @@ -0,0 +1,58 @@ + + +

+This keyboard is designed for the Dene Zhatıé language of the Western Subarctic region of Canada. +

+

If square boxes are displayed instead of characters when using this keyboard (and in the keyboard layouts below), please read our troubleshooting guide. +

+ +

Keyboard Layout

+ + + +
    +
  • The special characters of Dene Zhatıé have been assigned to a mix of both number and punctuation keys.
  • +
  • All accents are typed after the base character: ų is typed u then Left Bracket [
  • +
  • To type the acute accent use the Backquote key ` — á is typed a then backquote `
  • +
  • To type the ogonek accent use the the Left Bracket key [ — ų is typed u then Left Bracket [
  • +
  • To type the acute and ogonek accent at the same time use the Right Bracket key ] — ǫ́ is typed o then Right Bracket ]
  • +
  • To type the underlined n ṉ use the Equal key. To type the capital underlined N Ṉ use the Plus key
  • +
  • To type the underlined double e e̲e̲ use Right-Alt (Windows) / Option (Mac) + the e key
  • +
  • All changed numbers and punctuation can type their original value by holding down the Right-Alt or Option key. The Semicolon ; is typed Right-Alt+Semicolon (Windows) Option+Semicolon (Mac).
  • +
+ +

Notes on touch layout

+
+
+ + + +
´we é ę ę́ e̲e̲rtyu ú ų ų́ı ı́ ı̨ ı̨́o ó ǫ ǫ́ł
a á ą ą́sd˛ghjkl' "
 zxcɂbn ṉm 
+
  • keys with a red background are combining accents. +
  • the first character in a cell is the "one-tap" key, any further characters are "hold-select" keys. +

Alternate Name

+
  • South Slavey +
+
+ +
+ +

Desktop Keyboard Layout

+
+
+ +

Mobile Keyboard Layout

+
+
diff --git a/keyboard/fv_dene_zhatie/10.0.2/fv_dene_zhatieU_.png b/keyboard/fv_dene_zhatie/10.0.2/fv_dene_zhatieU_.png new file mode 100644 index 0000000000000000000000000000000000000000..e4ff36b21d836ccc39f12761cb0df4e5b7c314f8 GIT binary patch literal 12800 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 literal 0 HcmV?d00001 diff --git a/keyboard/fv_kwakwala_liqwala/9.2.5/Kwakwala_LiqwalaU_.png b/keyboard/fv_kwakwala_liqwala/9.2.5/Kwakwala_LiqwalaU_.png new file mode 100644 index 0000000000000000000000000000000000000000..8c19b519a4c7708fdfb99da9cf9fbed7a8bd9e05 GIT binary patch literal 16106 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 + +

+This keyboard is designed for the Kʷak̓ʷala language of the BC Coast region of Canada. +

+

If square boxes are displayed instead of characters when using this keyboard (and in the keyboard layouts below), please read our troubleshooting guide. +

+ + +

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 + + + + + The Geʾez Frontier Foundation Keyboard for Ethiopian Tigrinya + + + + + +