69 lines
1.7 KiB
Bash
Executable File
69 lines
1.7 KiB
Bash
Executable File
# Универсальный скрипт сборки 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"
|