Commit All
This commit is contained in:
84
Makefile
Normal file
84
Makefile
Normal file
@@ -0,0 +1,84 @@
|
||||
# Makefile for Turmli Bar Calendar Tool
|
||||
.PHONY: help install run test clean docker-build docker-run docker-stop update dev
|
||||
|
||||
# Default target
|
||||
help:
|
||||
@echo "Turmli Bar Calendar Tool - Available commands:"
|
||||
@echo " make install - Install dependencies with uv"
|
||||
@echo " make run - Run the server locally"
|
||||
@echo " make dev - Run the server in development mode with reload"
|
||||
@echo " make test - Run the test suite"
|
||||
@echo " make clean - Remove cache files and Python artifacts"
|
||||
@echo " make update - Update all dependencies"
|
||||
@echo " make docker-build - Build Docker container"
|
||||
@echo " make docker-run - Run Docker container"
|
||||
@echo " make docker-stop - Stop Docker container"
|
||||
|
||||
# Install dependencies
|
||||
install:
|
||||
@echo "Installing dependencies with uv..."
|
||||
uv sync
|
||||
|
||||
# Run the server
|
||||
run:
|
||||
@echo "Starting Calendar Server..."
|
||||
@echo "Access at: http://localhost:8000"
|
||||
uv run uvicorn main:app --host 0.0.0.0 --port 8000
|
||||
|
||||
# Run in development mode with auto-reload
|
||||
dev:
|
||||
@echo "Starting Calendar Server in development mode..."
|
||||
@echo "Access at: http://localhost:8000"
|
||||
uv run uvicorn main:app --host 0.0.0.0 --port 8000 --reload
|
||||
|
||||
# Run tests
|
||||
test:
|
||||
@echo "Running test suite..."
|
||||
@uv run python test_server.py
|
||||
|
||||
# Clean cache and temporary files
|
||||
clean:
|
||||
@echo "Cleaning cache and temporary files..."
|
||||
rm -f calendar_cache.json
|
||||
rm -rf __pycache__
|
||||
rm -rf .pytest_cache
|
||||
rm -rf .mypy_cache
|
||||
find . -type d -name "__pycache__" -exec rm -rf {} + 2>/dev/null || true
|
||||
find . -type f -name "*.pyc" -delete 2>/dev/null || true
|
||||
find . -type f -name "*.pyo" -delete 2>/dev/null || true
|
||||
find . -type f -name "*~" -delete 2>/dev/null || true
|
||||
@echo "Clean complete!"
|
||||
|
||||
# Update dependencies
|
||||
update:
|
||||
@echo "Updating dependencies..."
|
||||
uv sync --upgrade
|
||||
|
||||
# Docker commands
|
||||
docker-build:
|
||||
@echo "Building Docker image..."
|
||||
docker build -t turmli-calendar:latest .
|
||||
|
||||
docker-run:
|
||||
@echo "Running Docker container..."
|
||||
docker-compose up -d
|
||||
@echo "Container started! Access at: http://localhost:8000"
|
||||
|
||||
docker-stop:
|
||||
@echo "Stopping Docker container..."
|
||||
docker-compose down
|
||||
|
||||
# Check if server is running
|
||||
check:
|
||||
@curl -s http://localhost:8000/api/events > /dev/null && \
|
||||
echo "✓ Server is running" || \
|
||||
echo "✗ Server is not running"
|
||||
|
||||
# Show logs (for Docker)
|
||||
logs:
|
||||
docker-compose logs -f
|
||||
|
||||
# Refresh calendar manually
|
||||
refresh:
|
||||
@echo "Refreshing calendar..."
|
||||
@curl -X POST http://localhost:8000/api/refresh -s | python3 -m json.tool
|
||||
Reference in New Issue
Block a user