spiegel-keyman/developer/build.sh
Marc Durdin cd8121ef65 chore(common): builder scripts now use /resources/build/builder.inc.sh
Note: there is a bit of potential confusion about the difference between
/resources/builder.inc.sh (the full implementation for builder scripts),
and /resources/build/builder.inc.sh (the source script that builder
scripts should always use).

This allows us to make assumptions that will always be true for builder
scripts that may not be true for other scripts, such as setting base
folder.
2024-05-02 15:54:31 +07:00

53 lines
2 KiB
Bash
Executable file

#!/usr/bin/env bash
#
# Build Keyman Developer components
#
# TODO: convert existing Makefiles/ into build.sh scripts; for now,
# this only builds kmc and kmcmplib
## START STANDARD BUILD SCRIPT INCLUDE
# adjust relative paths as necessary
THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")"
. "${THIS_SCRIPT%/*}/../resources/build/builder.inc.sh"
## END STANDARD BUILD SCRIPT INCLUDE
. "$KEYMAN_ROOT/resources/shellHelperFunctions.sh"
################################ Main script ################################
builder_describe \
"Build Keyman Developer
**NOTE:** this only builds kmc and kmcmplib for now (TODO on other modules)" \
\
clean \
configure \
build \
"api analyze API and prepare API documentation" \
test \
":utils=src/common/web/utils Developer utils" \
":kmcmplib=src/kmcmplib Compiler - .kmn compiler" \
":kmc-analyze=src/kmc-analyze Compiler - Analysis Tools" \
":kmc-keyboard-info=src/kmc-keyboard-info Compiler - .keyboard_info Module" \
":kmc-kmn=src/kmc-kmn Compiler - .kmn to .kmx and .js Keyboard Module" \
":kmc-ldml=src/kmc-ldml Compiler - LDML Keyboard Module" \
":kmc-model=src/kmc-model Compiler - Lexical Model Module" \
":kmc-model-info=src/kmc-model-info Compiler - .model_info Module" \
":kmc-package=src/kmc-package Compiler - Package Module" \
":kmc=src/kmc Compiler - Command Line Interface"
builder_parse "$@"
builder_describe_outputs \
configure /developer/src/tike/xml/layoutbuilder/keymanweb-osk.ttf
builder_run_action configure cp "$KEYMAN_ROOT/common/resources/fonts/keymanweb-osk.ttf" "$KEYMAN_ROOT/developer/src/tike/xml/layoutbuilder/"
builder_run_child_actions clean configure build test api
function build_api() {
api-documenter markdown -i ./build/api -o ./build/docs
# TODO: Copy to help.keyman.com and open PR
}
builder_run_action api build_api