42 lines
1.4 KiB
Bash
42 lines
1.4 KiB
Bash
#!/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"))"
|