#!/usr/bin/env bash # # Builds the include script for the current Keyman version. # # Exit on command failure and when using unset variables: set -eu ## START STANDARD BUILD SCRIPT INCLUDE # adjust relative paths as necessary THIS_SCRIPT="$(greadlink -f "${BASH_SOURCE[0]}" 2>/dev/null || readlink -f "${BASH_SOURCE[0]}")" . "$(dirname "$THIS_SCRIPT")/../../../resources/build/build-utils.sh" ## END STANDARD BUILD SCRIPT INCLUDE . "$KEYMAN_ROOT/resources/shellHelperFunctions.sh" # This script runs from its own folder cd "$(dirname "$THIS_SCRIPT")" ################################ Main script ################################ builder_describe "Build the include script for current Keyman version" configure clean build builder_parse "$@" # TODO: build if out-of-date if test is specified # TODO: configure if npm has not been run, and build is specified if builder_has_action configure; then verify_npm_setup builder_report success configure fi if builder_has_action clean; then npm run clean rm -f ./version.inc.ts builder_report success clean fi if builder_has_action build; then # Generate keyman-version.mts echo " // Generated by common/web/keyman-version/build.sh export default 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 SENTRY_RELEASE = \"release-$VERSION_WITH_TAG\"; } " > ./keyman-version.mts # Generate version.inc.ts -- used by TypeScript code that isn't yet modular echo " // Generated by common/web/keyman-version/build.sh namespace com.keyman { 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 SENTRY_RELEASE = \"release-$VERSION_WITH_TAG\"; } } " > ./version.inc.ts # Build npm run build -- $builder_verbose || die "Could not build worker." builder_report success build fi