kt-event-marketing/tools/check-plantuml.sh
cherry2250 44011cd73a 외부 시퀀스 설계 완료
- 4개 주요 비즈니스 플로우 외부 시퀀스 다이어그램 작성
  * 사용자인증플로우: 회원가입, 로그인, 로그아웃
  * 이벤트생성플로우: AI 추천, 이미지 생성, 다중 채널 배포
  * 고객참여플로우: 이벤트 참여, 당첨자 추첨
  * 성과분석플로우: 실시간 대시보드 조회

- Event-Driven 아키텍처 반영 (Kafka Event Topics + Job Topics)
- Resilience 패턴 전면 적용 (Circuit Breaker, Retry, Timeout, Fallback)
- Cache-Aside 패턴 적용 (Redis 캐싱)
- 논리 아키텍처 및 유저스토리 기반 설계

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-22 13:38:41 +09:00

51 lines
1.3 KiB
Bash
Executable File

#!/bin/bash
# PlantUML file syntax checker script
# Usage: ./check_plantuml.sh <file_to_check>
# Check parameters
if [ $# -eq 0 ]; then
echo "Usage: $0 <file_to_check>"
echo "Example: $0 diagram.puml"
exit 1
fi
# File to check parameter
CHECK_FILE="$1"
# Check if file exists
if [ ! -f "$CHECK_FILE" ]; then
echo "Error: File '$CHECK_FILE' does not exist."
exit 1
fi
# 1. Generate unique filename (prevent conflicts)
TEMP_FILE="/tmp/puml_$(date +%s)_$$.puml"
# 2. Copy file
echo "Copying file to Docker container..."
docker cp "$CHECK_FILE" plantuml:"$TEMP_FILE"
# 3. Find JAR file location
echo "Finding PlantUML JAR file location..."
JAR_PATH=$(docker exec plantuml find / -name "plantuml*.jar" 2>/dev/null | head -1)
if [ -z "$JAR_PATH" ]; then
echo "Error: PlantUML JAR file not found."
exit 1
fi
# 4. Syntax check
echo "Running PlantUML syntax check..."
docker exec plantuml java -jar "$JAR_PATH" -checkonly "$TEMP_FILE"
# 5. Detailed error check (if needed)
echo "Checking detailed error information..."
docker exec plantuml sh -c "cd /tmp && java -jar $JAR_PATH -failfast -v $TEMP_FILE 2>&1 | grep -E 'Error line'"
# 6. Clean up temporary file
echo "Cleaning up temporary files..."
docker exec -u root plantuml rm -f "$TEMP_FILE"
echo "Check completed."