fix ads,passport

This commit is contained in:
2026-09-23 00:13:03 +08:00
parent b8ff9acc3d
commit 80b6c140fe
14 changed files with 575 additions and 3755 deletions

52
scripts/build-proto.sh Normal file
View File

@@ -0,0 +1,52 @@
#!/usr/bin/env bash
set -Eeuo pipefail
if [[ $# -ne 1 ]]; then
echo "usage: $0 <module>" >&2
echo "example: $0 passport" >&2
exit 2
fi
readonly SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)"
readonly WORKSPACE_ROOT="$(cd -- "${SCRIPT_DIR}/.." && pwd)"
readonly MODULE_NAME="$1"
mapfile -t MODULE_DIRS < <(find "${WORKSPACE_ROOT}/module" -mindepth 2 -maxdepth 2 -type d -name "${MODULE_NAME}" -print)
if [[ ${#MODULE_DIRS[@]} -ne 1 ]]; then
echo "error: expected one module named '${MODULE_NAME}', found ${#MODULE_DIRS[@]}" >&2
exit 1
fi
readonly MODULE_DIR="${MODULE_DIRS[0]}"
readonly PROTO_DIR="${MODULE_DIR}/proto"
readonly PB_DIR="${MODULE_DIR}/pb"
readonly MODULE_REL="${MODULE_DIR#${WORKSPACE_ROOT}/}"
readonly DOCS_DIR="sdk/docs/${MODULE_NAME}"
readonly DOCS_GO_DIR="sdk/docs/client/golang/${MODULE_NAME}"
readonly DOCS_TS_DIR="sdk/docs/client/typescript/${MODULE_NAME}"
readonly CLIENT_GO_DIR="sdk/client/golang/${MODULE_NAME}"
readonly CLIENT_TS_DIR="sdk/client/typescript/${MODULE_NAME}"
[[ -d "${PROTO_DIR}" ]] || { echo "error: ${PROTO_DIR} does not exist" >&2; exit 1; }
mapfile -t PROTO_FILES < <(find "${PROTO_DIR}" -maxdepth 1 -type f -name '*.proto' -print | sort)
(( ${#PROTO_FILES[@]} > 0 )) || { echo "error: no proto files found in ${PROTO_DIR}" >&2; exit 1; }
cd -- "${WORKSPACE_ROOT}"
mkdir -p "${MODULE_REL}/pb"
mkdir -p \
"${DOCS_DIR}" "${DOCS_GO_DIR}" "${DOCS_TS_DIR}" \
"${CLIENT_GO_DIR}" "${CLIENT_TS_DIR}"
protoc \
--proto_path="${MODULE_REL}/proto" \
--go_out="paths=source_relative:${MODULE_REL}/pb" \
--go_out="paths=source_relative:sdk/client/golang/${MODULE_NAME}" \
--go-grpc_out="paths=source_relative:${MODULE_REL}/pb" \
--go-grpc_out="paths=source_relative:sdk/client/golang/${MODULE_NAME}" \
--grpc-gateway_out="paths=source_relative,generate_unbound_methods=true:${MODULE_REL}/pb" \
--ts_out="sdk/client/typescript" \
--markdown_out="paths=source_relative:${DOCS_DIR}" \
"${MODULE_REL}/proto/"*.proto
(cd -- "${MODULE_REL}" && protoc \
--proto_path=proto \
--slc_out=./ \
proto/*.proto)