#!/bin/bash # prepare-source-qiming-file-server.sh # 从 GitHub 克隆并构建 qiming-file-server 源码 set -e SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" ELECTRON_CLIENT_DIR="$(dirname "$SCRIPT_DIR")" PROJECT_ROOT="$(dirname "$ELECTRON_CLIENT_DIR")" SOURCE_DIR="$ELECTRON_CLIENT_DIR/sources/qiming-file-server" GIT_REPO="https://github.com/qiming-ai/qiming-file-server.git" BRANCH="main" echo "[prepare-source-qiming-file-server] 开始准备源码..." # 1. 克隆或更新源码 if [ -d "$SOURCE_DIR/.git" ]; then echo "[prepare-source-qiming-file-server] 更新源码..." cd "$SOURCE_DIR" && git checkout "$BRANCH" && git pull else echo "[prepare-source-qiming-file-server] 克隆源码..." mkdir -p "$(dirname "$SOURCE_DIR")" git clone --branch "$BRANCH" "$GIT_REPO" "$SOURCE_DIR" fi # 2. 清理旧的 node_modules if [ -d "$SOURCE_DIR/node_modules" ]; then echo "[prepare-source-qiming-file-server] 清理旧的 node_modules..." rm -rf "$SOURCE_DIR/node_modules" fi # 3. 安装依赖 echo "[prepare-source-qiming-file-server] 安装依赖..." cd "$SOURCE_DIR" && npm install --ignore-scripts # 4. 构建 echo "[prepare-source-qiming-file-server] 构建项目..." cd "$SOURCE_DIR" && npm run build echo "[prepare-source-qiming-file-server] ✓ 源码准备完成 (qiming-file-server@$(node -p "require('./package.json').version"))"