mirror of
https://github.com/meta-llama/llama-stack.git
synced 2025-12-03 09:53:45 +00:00
61 lines
1.8 KiB
Bash
Executable file
61 lines
1.8 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
# All rights reserved.
|
|
#
|
|
# This source code is licensed under the terms described in the LICENSE file in
|
|
# the root directory of this source tree.
|
|
#
|
|
# Pass --target-root to direct generated artifacts into an alternate checkout
|
|
# (used by the trusted autofix workflow running from a base-branch worktree).
|
|
|
|
PYTHONPATH=${PYTHONPATH:-}
|
|
THIS_DIR="$(cd "$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")" && pwd)"
|
|
SOURCE_STACK_DIR="$(dirname "$(dirname "$THIS_DIR")")"
|
|
TARGET_STACK_DIR="$SOURCE_STACK_DIR"
|
|
|
|
while [[ $# -gt 0 ]]; do
|
|
case "$1" in
|
|
--target-root)
|
|
shift
|
|
if [[ $# -eq 0 ]]; then
|
|
echo "Error: --target-root requires a value" >&2
|
|
exit 1
|
|
fi
|
|
TARGET_STACK_DIR="$1"
|
|
;;
|
|
*)
|
|
echo "Error: unknown argument '$1'" >&2
|
|
exit 1
|
|
;;
|
|
esac
|
|
shift
|
|
done
|
|
TARGET_STATIC_DIR="$TARGET_STACK_DIR/docs/openapi_generator/static"
|
|
TARGET_SPEC_PATH="$TARGET_STACK_DIR/client-sdks/stainless/openapi.yml"
|
|
|
|
set -euo pipefail
|
|
|
|
missing_packages=()
|
|
|
|
check_package() {
|
|
if ! pip show "$1" &>/dev/null; then
|
|
missing_packages+=("$1")
|
|
fi
|
|
}
|
|
|
|
if [ ${#missing_packages[@]} -ne 0 ]; then
|
|
echo "Error: The following package(s) are not installed:"
|
|
printf " - %s\n" "${missing_packages[@]}"
|
|
echo "Please install them using:"
|
|
echo "pip install ${missing_packages[*]}"
|
|
exit 1
|
|
fi
|
|
|
|
mkdir -p "$TARGET_STATIC_DIR"
|
|
mkdir -p "$(dirname "$TARGET_SPEC_PATH")"
|
|
|
|
PYTHONPATH="$TARGET_STACK_DIR:$TARGET_STACK_DIR/src:$PYTHONPATH" \
|
|
python "$SOURCE_STACK_DIR/docs/openapi_generator/generate.py" "$TARGET_STATIC_DIR"
|
|
|
|
cp "$TARGET_STACK_DIR/docs/static/stainless-llama-stack-spec.yaml" "$TARGET_SPEC_PATH"
|