Files
gemini-cli/scripts/build_package.sh
DeWitt Clinton 43370ab0c5 Introduce optional gitCommitInfo as app-wide metadata.
This change adds an optional `gitCommitInfo` string to the app state,
which, if set by the GET_COMMIT_INFO environment variable when the
application is launched, will be displayed in the /about section. 

The `start.sh` and `build_package.sh` scripts set `GET_COMMIT_INFO` to
the most recent git commit's short hash if known, appending the string
"(local modifications)" if additional changes are detected beyond that
point.
2025-05-27 08:17:40 -07:00

47 lines
1.3 KiB
Bash
Executable File

#!/bin/bash
# Copyright 2025 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
set -euo pipefail
if [[ $(pwd) != *"/packages/"* ]]; then
echo "must be invoked from a package directory"
exit 1
fi
# Determine Git information
GIT_COMMIT_INFO="N/A"
if command -v git &> /dev/null && git rev-parse --is-inside-work-tree &> /dev/null; then
GIT_HASH=$(git rev-parse --short HEAD 2>/dev/null || echo "")
if [ -n "$GIT_HASH" ]; then
GIT_COMMIT_INFO="$GIT_HASH"
if [ -n "$(git status --porcelain)" ]; then
GIT_COMMIT_INFO="$GIT_COMMIT_INFO (local modifications)"
fi
fi
fi
export GIT_COMMIT_INFO
# clean dist directory
# rm -rf dist/*
# build typescript files
tsc --build
# copy .{md,json} files
node ../../scripts/copy_files.js
# touch dist/.last_build
touch dist/.last_build