69 lines
1.7 KiB
Bash
69 lines
1.7 KiB
Bash
|
|
# Универсальный скрипт сборки futriis для Linux и Illumos
|
|||
|
|
|
|||
|
|
#!/usr/bin/env/sh
|
|||
|
|
|
|||
|
|
set -e
|
|||
|
|
|
|||
|
|
echo ""
|
|||
|
|
echo "🔨 Building futriis database..."
|
|||
|
|
|
|||
|
|
# Определение ОС
|
|||
|
|
OS=$(uname -s | tr '[:upper:]' '[:lower:]')
|
|||
|
|
|
|||
|
|
# Функция для вывода ошибок красным цветом
|
|||
|
|
error_msg() {
|
|||
|
|
echo -e "\033[0;31m❌ $1\033[0m"
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
# Функция для вывода успешных сообщений зелёным цветом
|
|||
|
|
success_msg() {
|
|||
|
|
echo -e "\033[0;32m✅ $1\033[0m"
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
# Функция для вывода информационных сообщений
|
|||
|
|
info_msg() {
|
|||
|
|
echo "📋 $1"
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
case "$OS" in
|
|||
|
|
linux)
|
|||
|
|
echo "Building for Linux"
|
|||
|
|
GOOS=linux GOARCH=amd64 go build -o bin/futriis-linux ./cmd/futriis
|
|||
|
|
|
|||
|
|
if [ $? -eq 0 ]; then
|
|||
|
|
success_msg "Build successful for Linux"
|
|||
|
|
cp bin/futriis-linux ./futriis-linux
|
|||
|
|
info_msg "Binary copied to: ./futriis-linux"
|
|||
|
|
else
|
|||
|
|
error_msg "Build failed for Linux"
|
|||
|
|
exit 1
|
|||
|
|
fi
|
|||
|
|
;;
|
|||
|
|
|
|||
|
|
sunos|illumos)
|
|||
|
|
echo "Building for Illumos"
|
|||
|
|
export GOOS=illumos
|
|||
|
|
export GOARCH=amd64
|
|||
|
|
export CGO_ENABLED=1
|
|||
|
|
|
|||
|
|
go build -tags=illumos -o bin/futriis-illumos ./cmd/futriis
|
|||
|
|
|
|||
|
|
if [ $? -eq 0 ]; then
|
|||
|
|
success_msg "Build successful for Illumos"
|
|||
|
|
cp bin/futriis-illumos ./futriis-illumos
|
|||
|
|
info_msg "Binary copied to: ./futriis-illumos"
|
|||
|
|
else
|
|||
|
|
error_msg "Build failed for Illumos"
|
|||
|
|
exit 1
|
|||
|
|
fi
|
|||
|
|
;;
|
|||
|
|
|
|||
|
|
*)
|
|||
|
|
error_msg "Unsupported OS: $OS"
|
|||
|
|
exit 1
|
|||
|
|
;;
|
|||
|
|
esac
|
|||
|
|
|
|||
|
|
echo ""
|
|||
|
|
success_msg "Build complete. Binaries in bin/ and root directory"
|