Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
75 changes: 75 additions & 0 deletions docs/Taskfile.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
version: '3'

vars:
DIAGRAMS_DIR: "{{.USER_WORKING_DIR}}/docs/diagrams"
OUTPUT_FORMAT: "png"

tasks:
generate:
desc: Generate all documentation artifacts (diagrams, etc.)
cmds:
- task: diagrams:render
silent: true

diagrams:
desc: Generate all architecture diagrams from PlantUML
cmds:
- task: diagrams:render
silent: true

diagrams:render:
desc: Render PlantUML diagrams to PNG format using Docker
cmds:
- |
set -e
echo "Rendering PlantUML diagrams..."
echo ""

# Check if PlantUML files exist
if ! ls {{.DIAGRAMS_DIR}}/*.puml 1>/dev/null 2>&1; then
echo "No PlantUML source files found in {{.DIAGRAMS_DIR}}"
exit 0
fi

# Render using Docker (no local installation required)
docker run --rm \
-v "{{.DIAGRAMS_DIR}}":/data \
plantuml/plantuml:latest \
-t{{.OUTPUT_FORMAT}} \
/data/*.puml

echo ""
echo "Diagrams rendered in {{.DIAGRAMS_DIR}}"
echo ""
echo "Generated files:"
ls -1 {{.DIAGRAMS_DIR}}/*.{{.OUTPUT_FORMAT}} 2>/dev/null | xargs -n1 basename || echo "No output files found"
silent: true

diagrams:clean:
desc: Remove generated diagram files
cmds:
- |
rm -f {{.DIAGRAMS_DIR}}/*.png {{.DIAGRAMS_DIR}}/*.svg
echo "Generated diagram files removed"
silent: true

diagrams:validate:
desc: Validate PlantUML syntax using Docker
cmds:
- |
set -e
echo "Validating PlantUML diagrams..."

# Check if PlantUML files exist
if ! ls {{.DIAGRAMS_DIR}}/*.puml 1>/dev/null 2>&1; then
echo "No PlantUML source files found in {{.DIAGRAMS_DIR}}"
exit 0
fi

docker run --rm \
-v "{{.DIAGRAMS_DIR}}":/data \
plantuml/plantuml:latest \
-syntax \
/data/*.puml
echo "All diagrams are valid"
silent: true
Loading
Loading