Improve build script: remove aggressive cache cleaning and add auto dependency check
Changes: - Removed -modcache flag that was deleting Go modules unnecessarily - Changed from -cache -modcache -testcache to just go clean - Added automatic system dependency detection (X11 libs) - Will attempt to install missing deps automatically if found - Keeps Go module cache intact between builds for faster compilation This fixes the issue where builds would fail after cache cleaning due to missing Go modules, while still checking for required system libraries. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
792e5a6a5a
commit
5e902262c5
|
|
@ -1,6 +1,6 @@
|
|||
#!/bin/bash
|
||||
# VT_Player Build Script
|
||||
# Cleans dependencies and builds the application with proper error handling
|
||||
# Builds the application with proper dependency checking
|
||||
|
||||
set -e
|
||||
|
||||
|
|
@ -25,16 +25,54 @@ echo ""
|
|||
# Change to project directory
|
||||
cd "$PROJECT_ROOT"
|
||||
|
||||
echo "🧹 Cleaning previous builds and cache..."
|
||||
go clean -cache -modcache -testcache 2>/dev/null || true
|
||||
rm -f "$BUILD_OUTPUT" 2>/dev/null || true
|
||||
echo "✓ Cache cleaned"
|
||||
# Check for system dependencies (X11 development libraries)
|
||||
echo "🔍 Checking system dependencies..."
|
||||
MISSING_DEPS=()
|
||||
|
||||
# Check for essential X11 libraries needed by Fyne/GLFW
|
||||
if ! pkg-config --exists x11 2>/dev/null; then
|
||||
MISSING_DEPS+=("libX11-devel")
|
||||
fi
|
||||
if ! pkg-config --exists xcursor 2>/dev/null; then
|
||||
MISSING_DEPS+=("libXcursor-devel")
|
||||
fi
|
||||
if ! pkg-config --exists xrandr 2>/dev/null; then
|
||||
MISSING_DEPS+=("libXrandr-devel")
|
||||
fi
|
||||
if ! pkg-config --exists gl 2>/dev/null; then
|
||||
MISSING_DEPS+=("mesa-libGL-devel")
|
||||
fi
|
||||
|
||||
if [ ${#MISSING_DEPS[@]} -gt 0 ]; then
|
||||
echo "⚠️ Missing system dependencies: ${MISSING_DEPS[*]}"
|
||||
echo "📥 Attempting to install dependencies..."
|
||||
|
||||
if [ -f "$PROJECT_ROOT/scripts/install-deps-linux.sh" ]; then
|
||||
bash "$PROJECT_ROOT/scripts/install-deps-linux.sh" || {
|
||||
echo "❌ Failed to install dependencies automatically"
|
||||
echo "Please run: sudo bash $PROJECT_ROOT/scripts/install-deps-linux.sh"
|
||||
exit 1
|
||||
}
|
||||
else
|
||||
echo "❌ Dependency installer not found"
|
||||
echo "Please install missing packages manually: ${MISSING_DEPS[*]}"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
echo "✓ System dependencies OK"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
echo "⬇️ Downloading and verifying dependencies..."
|
||||
echo "🧹 Cleaning previous build..."
|
||||
rm -f "$BUILD_OUTPUT" 2>/dev/null || true
|
||||
go clean 2>/dev/null || true
|
||||
echo "✓ Cleaned"
|
||||
echo ""
|
||||
|
||||
echo "⬇️ Ensuring Go modules are downloaded..."
|
||||
go mod download
|
||||
go mod verify
|
||||
echo "✓ Dependencies verified"
|
||||
echo "✓ Dependencies ready"
|
||||
echo ""
|
||||
|
||||
echo "🔨 Building VT_Player..."
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user