#!/usr/bin/env bash set -e SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" cd "$SCRIPT_DIR" # Find Sage root directory SAGE_ROOT="" for candidate in "$SCRIPT_DIR/../.." "$HOME/repos/sage" "$HOME/sage"; do if [ -d "$candidate/wwwroot" ] && [ -d "$candidate/py3/bin" ]; then SAGE_ROOT="$(cd "$candidate" && pwd)" break fi done if [ -z "$SAGE_ROOT" ]; then echo "ERROR: Cannot find Sage root directory" exit 1 fi echo "Sage root: $SAGE_ROOT" # Install module cd "$SCRIPT_DIR" $SAGE_ROOT/py3/bin/pip install -e . # Generate DDL from models if [ -d "$SCRIPT_DIR/models" ]; then echo "Generating DDL..." cd "$SCRIPT_DIR/models" $SAGE_ROOT/py3/bin/json2ddl mysql . > mysql.ddl.sql echo "DDL generated: $SCRIPT_DIR/models/mysql.ddl.sql" fi # Generate CRUD UI from json definitions if [ -d "$SCRIPT_DIR/json" ]; then echo "Generating CRUD UI files..." cd "$SCRIPT_DIR/json" for f in *.json; do echo " Processing $f..." done $SAGE_ROOT/py3/bin/xls2ui -m ../models -o ../wwwroot supplychain *.json echo "CRUD UI files generated." fi # Create symlink in Sage wwwroot echo "Creating wwwroot symlink..." rm -f "$SAGE_ROOT/wwwroot/supplychain" ln -s "$SCRIPT_DIR/wwwroot" "$SAGE_ROOT/wwwroot/supplychain" echo "Build complete."