81 lines
2.1 KiB
Bash
81 lines
2.1 KiB
Bash
![]() |
#!/bin/bash
|
||
|
|
||
|
# Build documentation with logo assets for RUSTELO
|
||
|
# This script generates cargo documentation and copies logo assets to the output directory
|
||
|
|
||
|
set -e
|
||
|
|
||
|
# Colors for output
|
||
|
RED='\033[0;31m'
|
||
|
GREEN='\033[0;32m'
|
||
|
YELLOW='\033[1;33m'
|
||
|
NC='\033[0m' # No Color
|
||
|
|
||
|
# Function to print colored output
|
||
|
print_status() {
|
||
|
echo -e "${GREEN}[INFO]${NC} $1"
|
||
|
}
|
||
|
|
||
|
print_warning() {
|
||
|
echo -e "${YELLOW}[WARN]${NC} $1"
|
||
|
}
|
||
|
|
||
|
print_error() {
|
||
|
echo -e "${RED}[ERROR]${NC} $1"
|
||
|
}
|
||
|
|
||
|
# Check if we're in the correct directory
|
||
|
if [ ! -f "Cargo.toml" ]; then
|
||
|
print_error "Cargo.toml not found. Please run this script from the project root directory."
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
if [ ! -d "logos" ]; then
|
||
|
print_error "logos directory not found. Please ensure the logos directory exists in the project root."
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
print_status "Building RUSTELO documentation with logo assets..."
|
||
|
|
||
|
# Clean previous documentation build
|
||
|
print_status "Cleaning previous documentation..."
|
||
|
cargo clean --doc
|
||
|
|
||
|
# Build documentation
|
||
|
print_status "Generating cargo documentation..."
|
||
|
if cargo doc --no-deps --lib --workspace --document-private-items; then
|
||
|
print_status "Documentation generated successfully"
|
||
|
else
|
||
|
print_error "Failed to generate documentation"
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
# Copy logo assets to documentation output
|
||
|
print_status "Copying logo assets to documentation output..."
|
||
|
if [ -d "target/doc" ]; then
|
||
|
cp -r logos target/doc/
|
||
|
print_status "Logo assets copied to target/doc/logos/"
|
||
|
else
|
||
|
print_error "Documentation output directory not found"
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
# Check if logos were copied successfully
|
||
|
if [ -d "target/doc/logos" ] && [ "$(ls -A target/doc/logos)" ]; then
|
||
|
print_status "Logo assets verified in documentation output"
|
||
|
echo "Available logo files:"
|
||
|
ls -la target/doc/logos/
|
||
|
else
|
||
|
print_warning "Logo assets may not have been copied correctly"
|
||
|
fi
|
||
|
|
||
|
# Display completion message
|
||
|
print_status "Documentation build complete!"
|
||
|
echo ""
|
||
|
echo "Documentation available at: target/doc/index.html"
|
||
|
echo "Logo assets available at: target/doc/logos/"
|
||
|
echo ""
|
||
|
echo "To view the documentation, run:"
|
||
|
echo " cargo doc --open"
|
||
|
echo "or open target/doc/index.html in your browser"
|