#!/bin/bash # 构建脚本,用于编译所有插件 # 确保输出目录存在 mkdir -p dist echo "===== 开始编译插件 =====" # 编译带有明确类型的日志插件 echo "编译日志插件 (明确类型)..." cd logger go build -buildmode=plugin -o ../dist/logger.so if [ $? -eq 0 ]; then echo "日志插件编译成功!" else echo "日志插件编译失败!" exit 1 fi cd .. # 编译使用默认类型的日志插件 echo "编译默认日志插件 (默认类型)..." cd defaultlogger go build -buildmode=plugin -o ../dist/defaultlogger.so if [ $? -eq 0 ]; then echo "默认日志插件编译成功!" else echo "默认日志插件编译失败!" exit 1 fi cd .. # 编译统计插件 echo "编译统计插件..." cd stats go build -buildmode=plugin -o ../dist/stats.so if [ $? -eq 0 ]; then echo "统计插件编译成功!" else echo "统计插件编译失败!" exit 1 fi cd .. # 编译存储插件 echo "编译存储插件..." cd storage go build -buildmode=plugin -o ../dist/storage.so if [ $? -eq 0 ]; then echo "存储插件编译成功!" else echo "存储插件编译失败!" exit 1 fi cd .. echo "===== 所有插件编译完成 =====" echo "插件文件保存在 dist 目录中:" ls -la dist/ # 对于Windows系统,添加.exe后缀 # go build -buildmode=plugin -o ../dist/plugin_name.dll