#!/usr/bin/env bash ## START STANDARD BUILD SCRIPT INCLUDE # adjust relative paths as necessary THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")" . "${THIS_SCRIPT%/*}/../../../resources/build/build-utils.sh" ## END STANDARD BUILD SCRIPT INCLUDE . "$KEYMAN_ROOT/resources/shellHelperFunctions.sh" . "$KEYMAN_ROOT/resources/build/build-utils-ci.inc.sh" # This script runs from its own folder cd "$THIS_SCRIPT_PATH" ################################ Main script ################################ builder_describe "Build the include script for current Keyman version" \ configure \ clean \ build \ "pack build a local .tgz pack for testing" \ "publish publish to npm" \ test builder_describe_outputs \ configure "/node_modules" \ build "/common/web/keyman-version/build/version.inc.js" builder_parse "$@" function do_build() { # Generate version.inc.ts echo " // Generated by common/web/keyman-version/build.sh // // Note: does not use the 'default' keyword so that the export name is // correct when converted to a CommonJS module with \`esbuild\`. export class KEYMAN_VERSION { static readonly VERSION = \"$VERSION\"; static readonly VERSION_RELEASE =\"$VERSION_RELEASE\"; static readonly VERSION_MAJOR = \"$VERSION_MAJOR\"; static readonly VERSION_MINOR = \"$VERSION_MINOR\"; static readonly VERSION_PATCH = \"$VERSION_PATCH\"; static readonly TIER =\"$TIER\"; static readonly VERSION_TAG = \"$VERSION_TAG\"; static readonly VERSION_WITH_TAG = \"$VERSION_WITH_TAG\"; static readonly VERSION_ENVIRONMENT = \"$VERSION_ENVIRONMENT\"; static readonly VERSION_GIT_TAG = \"$VERSION_GIT_TAG\"; } // Also provides it as a 'default' export. export default KEYMAN_VERSION; " > ./version.inc.ts tsc --build $builder_verbose } builder_run_action clean rm -rf version.inc.ts keyman-version.mts build/ builder_run_action configure verify_npm_setup builder_run_action build do_build builder_run_action publish builder_publish_to_npm builder_run_action pack builder_publish_to_pack