mirror of
https://github.com/apache/superset.git
synced 2026-05-08 17:35:33 +00:00
- Added infer_impact() function to determine configuration impact levels - Added infer_requires_restart() function to determine restart requirements - Updated export_config_metadata.py to include these fields in JSON output - Fixes ConfigurationTable.tsx error: "Cannot read properties of undefined (reading 'toUpperCase')" - All 218 configuration settings now include impact and requires_restart fields - Fixed type annotations and linting issues in extract_config_schema.py 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
102 lines
3.8 KiB
Bash
Executable File
102 lines
3.8 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Licensed to the Apache Software Foundation (ASF) under one
|
|
# or more contributor license agreements. See the NOTICE file
|
|
# distributed with this work for additional information
|
|
# regarding copyright ownership. The ASF licenses this file
|
|
# to you under the Apache License, Version 2.0 (the
|
|
# "License"); you may not use this file except in compliance
|
|
# with the License. You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing,
|
|
# software distributed under the License is distributed on an
|
|
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
# KIND, either express or implied. See the License for the
|
|
# specific language governing permissions and limitations
|
|
# under the License.
|
|
|
|
# Unified documentation generation script
|
|
# This script generates all dynamic documentation artifacts needed for the docs build
|
|
|
|
set -e
|
|
|
|
echo "🚀 Generating documentation artifacts..."
|
|
|
|
# Navigate to the docs directory
|
|
cd "$(dirname "$0")/.."
|
|
|
|
# Track any failures
|
|
FAILED_TASKS=()
|
|
|
|
# 1. Extract configuration schema and export metadata
|
|
echo "📊 Extracting configuration schema and exporting metadata..."
|
|
if python ../scripts/extract_config_schema.py && python scripts/export_config_metadata.py; then
|
|
echo "✅ Configuration metadata exported successfully"
|
|
else
|
|
echo "⚠️ Warning: Failed to export configuration metadata"
|
|
echo " The documentation build will continue with existing metadata"
|
|
FAILED_TASKS+=("config_metadata")
|
|
fi
|
|
|
|
# 2. Generate OpenAPI documentation
|
|
echo "🔌 Generating OpenAPI documentation..."
|
|
if python -c "
|
|
import sys
|
|
sys.path.insert(0, '..')
|
|
from superset.app import create_app
|
|
from superset.cli.update import update_api_docs
|
|
import os
|
|
|
|
# Set required environment variables
|
|
os.environ['SUPERSET_SECRET_KEY'] = 'not-a-secret'
|
|
|
|
app = create_app()
|
|
with app.app_context():
|
|
update_api_docs()
|
|
"; then
|
|
echo "✅ OpenAPI documentation generated successfully"
|
|
else
|
|
echo "⚠️ Warning: Failed to generate OpenAPI documentation"
|
|
echo " The documentation build will continue with existing OpenAPI spec"
|
|
FAILED_TASKS+=("openapi")
|
|
fi
|
|
|
|
# 3. Generate ERD (Entity Relationship Diagram) if in CI environment
|
|
if [ -n "$CI" ] && [ -f "../scripts/erd/erd.py" ]; then
|
|
echo "🗂️ Generating Entity Relationship Diagram..."
|
|
if python ../scripts/erd/erd.py; then
|
|
echo "✅ ERD generated successfully"
|
|
else
|
|
echo "⚠️ Warning: Failed to generate ERD"
|
|
echo " The documentation build will continue without updated ERD"
|
|
FAILED_TASKS+=("erd")
|
|
fi
|
|
fi
|
|
|
|
# Summary
|
|
echo ""
|
|
echo "📝 Documentation generation summary:"
|
|
echo " - Configuration metadata: ${FAILED_TASKS[*]}" | grep -q "config_metadata" && echo " - Configuration metadata: ❌ Failed" || echo " - Configuration metadata: ✅ Success"
|
|
echo " - OpenAPI documentation: ${FAILED_TASKS[*]}" | grep -q "openapi" && echo " - OpenAPI documentation: ❌ Failed" || echo " - OpenAPI documentation: ✅ Success"
|
|
if [ -n "$CI" ]; then
|
|
echo " - ERD generation: ${FAILED_TASKS[*]}" | grep -q "erd" && echo " - ERD generation: ❌ Failed" || echo " - ERD generation: ✅ Success"
|
|
fi
|
|
|
|
if [ ${#FAILED_TASKS[@]} -eq 0 ]; then
|
|
echo ""
|
|
echo "🎉 All documentation artifacts generated successfully!"
|
|
else
|
|
echo ""
|
|
echo "⚠️ Some tasks failed but documentation build can continue"
|
|
echo " Failed tasks: ${FAILED_TASKS[*]}"
|
|
echo " To fix missing dependencies, run: pip install -e ."
|
|
fi
|
|
|
|
echo ""
|
|
echo "📁 Generated files:"
|
|
[ -f "src/resources/config_metadata.json" ] && echo " - src/resources/config_metadata.json"
|
|
[ -f "static/resources/openapi.json" ] && echo " - static/resources/openapi.json"
|
|
[ -f "static/img/erd.svg" ] && echo " - static/img/erd.svg"
|