117 lines
4.2 KiB
Plaintext
117 lines
4.2 KiB
Plaintext
|
|
# Build Module - Core provisioning build operations
|
||
|
|
# ==================================================
|
||
|
|
|
||
|
|
# Show detailed build help
|
||
|
|
@build-help:
|
||
|
|
echo "🏗️ BUILD MODULE HELP"
|
||
|
|
echo "===================="
|
||
|
|
echo ""
|
||
|
|
echo "This module handles all core build operations including:"
|
||
|
|
echo "• Platform binary compilation (Rust orchestrator)"
|
||
|
|
echo "• Core Nushell library bundling"
|
||
|
|
echo "• KCL schema validation and compilation"
|
||
|
|
echo "• Cross-platform builds"
|
||
|
|
echo ""
|
||
|
|
echo "RECIPES:"
|
||
|
|
echo " build-all Complete build (platform + core + KCL validation)"
|
||
|
|
echo " build-platform Build platform binaries for target architecture"
|
||
|
|
echo " build-core Bundle and validate Nushell libraries"
|
||
|
|
echo " validate-kcl Validate and compile KCL configuration schemas"
|
||
|
|
echo " build-cross Cross-compile for multiple platforms"
|
||
|
|
echo " build-debug Build with debug information and symbols"
|
||
|
|
echo ""
|
||
|
|
echo "CONFIGURATION:"
|
||
|
|
echo " rust_target: {{rust_target}}"
|
||
|
|
echo " build_mode: {{build_mode}}"
|
||
|
|
echo " platforms: {{platforms}}"
|
||
|
|
echo ""
|
||
|
|
echo "EXAMPLES:"
|
||
|
|
echo " just build-all # Complete build pipeline"
|
||
|
|
echo " just build-platform --verbose # Verbose platform build"
|
||
|
|
echo " just build-cross # Multi-platform build"
|
||
|
|
echo " just validate-kcl # KCL schema validation"
|
||
|
|
|
||
|
|
# Complete build pipeline - all components
|
||
|
|
@build-all: create-dirs build-platform build-core validate-kcl
|
||
|
|
echo "✅ Complete build pipeline finished"
|
||
|
|
|
||
|
|
# Build platform binaries (Rust orchestrator)
|
||
|
|
@build-platform:
|
||
|
|
echo "🔨 Building platform binaries..."
|
||
|
|
{{nu}} {{tools_dir}}/build/compile-platform.nu \
|
||
|
|
--target {{rust_target}} \
|
||
|
|
--{{build_mode}} \
|
||
|
|
--output-dir {{dist_dir}}/platform \
|
||
|
|
--verbose={{verbose}}
|
||
|
|
echo "✅ Platform binaries built successfully"
|
||
|
|
|
||
|
|
# Bundle core Nushell libraries
|
||
|
|
@build-core:
|
||
|
|
echo "📚 Building core libraries..."
|
||
|
|
{{nu}} {{tools_dir}}/build/bundle-core.nu \
|
||
|
|
--output-dir {{dist_dir}}/core \
|
||
|
|
--config-dir {{dist_dir}}/config \
|
||
|
|
--validate \
|
||
|
|
--exclude-dev \
|
||
|
|
--verbose={{verbose}}
|
||
|
|
echo "✅ Core libraries bundled successfully"
|
||
|
|
|
||
|
|
# Validate and compile KCL schemas
|
||
|
|
@validate-kcl:
|
||
|
|
echo "🔍 Validating KCL schemas..."
|
||
|
|
{{nu}} {{tools_dir}}/build/validate-kcl.nu \
|
||
|
|
--output-dir {{dist_dir}}/kcl \
|
||
|
|
--format-code \
|
||
|
|
--check-dependencies \
|
||
|
|
--verbose={{verbose}}
|
||
|
|
echo "✅ KCL schemas validated successfully"
|
||
|
|
|
||
|
|
# Cross-compile for multiple platforms
|
||
|
|
@build-cross:
|
||
|
|
#!/usr/bin/env bash
|
||
|
|
echo "🌐 Cross-compiling for multiple platforms..."
|
||
|
|
IFS=',' read -ra PLATFORM_LIST <<< "{{platforms}}"
|
||
|
|
for platform in "${PLATFORM_LIST[@]}"; do
|
||
|
|
echo "Building for $platform..."
|
||
|
|
{{nu}} {{tools_dir}}/build/compile-platform.nu \
|
||
|
|
--target "$platform" \
|
||
|
|
--{{build_mode}} \
|
||
|
|
--output-dir {{dist_dir}}/platform \
|
||
|
|
--verbose={{verbose}} || exit 1
|
||
|
|
done
|
||
|
|
echo "✅ Cross-compilation completed successfully"
|
||
|
|
|
||
|
|
# Build with debug information
|
||
|
|
@build-debug: create-dirs
|
||
|
|
echo "🐛 Building with debug information..."
|
||
|
|
{{nu}} {{tools_dir}}/build/compile-platform.nu \
|
||
|
|
--target {{rust_target}} \
|
||
|
|
--debug \
|
||
|
|
--output-dir {{dist_dir}}/platform \
|
||
|
|
--verbose=true
|
||
|
|
echo "✅ Debug build completed"
|
||
|
|
|
||
|
|
# Fast incremental build for development
|
||
|
|
@build-incremental:
|
||
|
|
echo "⚡ Incremental development build..."
|
||
|
|
{{nu}} {{tools_dir}}/build/compile-platform.nu \
|
||
|
|
--target {{rust_target}} \
|
||
|
|
--dev \
|
||
|
|
--output-dir {{dist_dir}}/platform \
|
||
|
|
--incremental \
|
||
|
|
--verbose={{verbose}}
|
||
|
|
echo "✅ Incremental build completed"
|
||
|
|
|
||
|
|
# Clean and rebuild everything
|
||
|
|
@build-clean-all: clean build-all
|
||
|
|
echo "✅ Clean rebuild completed"
|
||
|
|
|
||
|
|
# Check build system health
|
||
|
|
@build-check:
|
||
|
|
echo "🔍 Checking build system health..."
|
||
|
|
{{nu}} {{tools_dir}}/build/check-system.nu \
|
||
|
|
--check-tools \
|
||
|
|
--check-dependencies \
|
||
|
|
--check-config \
|
||
|
|
--verbose={{verbose}}
|
||
|
|
echo "✅ Build system health check completed"
|