98 lines
2.3 KiB
Bash
Executable File
98 lines
2.3 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# 构建脚本,用于编译所有插件和 web_example.go
|
|
|
|
# # 设置工作目录
|
|
WORK_DIR="/www/plugins"
|
|
|
|
# # 设置 GOPATH 以确保使用相同版本的 plugins 包
|
|
# export GOPATH=$WORK_DIR
|
|
export GO111MODULE=on
|
|
|
|
# 确保输出目录存在
|
|
DIST_DIR="/www/plugins/example/dist"
|
|
mkdir -p $DIST_DIR
|
|
|
|
go mod tidy
|
|
|
|
echo "===== 开始编译插件 ====="
|
|
|
|
# 编译带有明确类型的日志插件
|
|
echo "编译日志插件 (明确类型)..."
|
|
cd $WORK_DIR/plugins/logger
|
|
go build -buildmode=plugin -o $DIST_DIR/logger.so
|
|
if [ $? -eq 0 ]; then
|
|
echo "日志插件编译成功!"
|
|
else
|
|
echo "日志插件编译失败!"
|
|
exit 1
|
|
fi
|
|
|
|
# 编译使用默认类型的日志插件
|
|
echo "编译默认日志插件 (默认类型)..."
|
|
cd $WORK_DIR/plugins/defaultlogger
|
|
go build -buildmode=plugin -o $DIST_DIR/defaultlogger.so
|
|
if [ $? -eq 0 ]; then
|
|
echo "默认日志插件编译成功!"
|
|
else
|
|
echo "默认日志插件编译失败!"
|
|
exit 1
|
|
fi
|
|
|
|
# 编译统计插件
|
|
echo "编译统计插件..."
|
|
cd $WORK_DIR/plugins/stats
|
|
go build -buildmode=plugin -o $DIST_DIR/stats.so
|
|
if [ $? -eq 0 ]; then
|
|
echo "统计插件编译成功!"
|
|
else
|
|
echo "统计插件编译失败!"
|
|
exit 1
|
|
fi
|
|
|
|
# 编译存储插件
|
|
echo "编译存储插件..."
|
|
cd $WORK_DIR/plugins/storage
|
|
go build -buildmode=plugin -o $DIST_DIR/storage.so
|
|
if [ $? -eq 0 ]; then
|
|
echo "存储插件编译成功!"
|
|
else
|
|
echo "存储插件编译失败!"
|
|
exit 1
|
|
fi
|
|
|
|
# 编译示例插件
|
|
echo "编译示例插件..."
|
|
cd $WORK_DIR/plugins/demoutils
|
|
go build -buildmode=plugin -o $DIST_DIR/demoutils.so
|
|
if [ $? -eq 0 ]; then
|
|
echo "示例插件编译成功!"
|
|
else
|
|
echo "示例插件编译失败!"
|
|
exit 1
|
|
fi
|
|
cd ..
|
|
|
|
echo "===== 所有插件编译完成 ====="
|
|
|
|
# 复制 web_admin.go 到工作目录
|
|
mkdir -p $WORK_DIR/example
|
|
|
|
# 编译 web_admin.go
|
|
echo "===== 编译 web_admin ====="
|
|
cd $WORK_DIR/example
|
|
go build -o /www/plugins/example/web_admin web_admin.go
|
|
if [ $? -eq 0 ]; then
|
|
echo "web_admin.go 编译成功!"
|
|
else
|
|
echo "web_admin.go 编译失败!"
|
|
exit 1
|
|
fi
|
|
|
|
echo "===== 所有编译完成 ====="
|
|
echo "插件文件保存在 $DIST_DIR 目录中:"
|
|
ls -la $DIST_DIR
|
|
echo "web_admin 可执行文件保存在 /www/plugins/example/web_admin"
|
|
|
|
echo "===== 启动web_admin ====="
|
|
/www/plugins/example/web_admin |