初始化提交
This commit is contained in:
commit
887c1f449e
963 files changed
+166869
No files matched your search
@@ -0,0 +1,87 @@
|
||||
# Makefile for cleaning Python cache files and empty directories
|
||||
# Author: AI Assistant
|
||||
# Usage: make clean or make clean-all
|
||||
|
||||
.PHONY: clean clean-all clean-pyc clean-pytest clean-mypy clean-empty-dirs help
|
||||
|
||||
# Colors for pretty output
|
||||
GREEN := \033[0;32m
|
||||
YELLOW := \033[0;33m
|
||||
RED := \033[0;31m
|
||||
NC := \033[0m # No Color
|
||||
|
||||
# Default target
|
||||
help:
|
||||
@echo "$(GREEN)Available targets:$(NC)"
|
||||
@echo " $(YELLOW)make clean$(NC) - Remove Python cache files, pytest cache, mypy cache, and empty directories"
|
||||
@echo " $(YELLOW)make clean-pyc$(NC) - Remove Python cache files (__pycache__, .pyc, .pyo)"
|
||||
@echo " $(YELLOW)make clean-pytest$(NC) - Remove pytest cache (.pytest_cache)"
|
||||
@echo " $(YELLOW)make clean-mypy$(NC) - Remove mypy cache (.mypy_cache)"
|
||||
@echo " $(YELLOW)make clean-empty-dirs$(NC) - Remove empty directories"
|
||||
@echo " $(YELLOW)make clean-all$(NC) - Remove everything (cache, logs, coverage, build, dist, etc.)"
|
||||
|
||||
# Main clean target
|
||||
clean: clean-pyc clean-pytest clean-mypy clean-empty-dirs
|
||||
@echo "$(GREEN)✓ Cleanup completed successfully!$(NC)"
|
||||
|
||||
# Clean Python cache files
|
||||
clean-pyc:
|
||||
@echo "$(YELLOW)Removing Python cache files...$(NC)"
|
||||
@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 "*.pyd" -delete 2>/dev/null || true
|
||||
@echo "$(GREEN)✓ Python cache files removed$(NC)"
|
||||
|
||||
# Clean pytest cache
|
||||
clean-pytest:
|
||||
@echo "$(YELLOW)Removing pytest cache...$(NC)"
|
||||
@rm -rf .pytest_cache 2>/dev/null || true
|
||||
@find . -type d -name ".pytest_cache" -exec rm -rf {} + 2>/dev/null || true
|
||||
@echo "$(GREEN)✓ Pytest cache removed$(NC)"
|
||||
|
||||
# Clean mypy cache
|
||||
clean-mypy:
|
||||
@echo "$(YELLOW)Removing mypy cache...$(NC)"
|
||||
@rm -rf .mypy_cache 2>/dev/null || true
|
||||
@find . -type d -name ".mypy_cache" -exec rm -rf {} + 2>/dev/null || true
|
||||
@echo "$(GREEN)✓ Mypy cache removed$(NC)"
|
||||
|
||||
# Remove empty directories
|
||||
clean-empty-dirs:
|
||||
@echo "$(YELLOW)Removing empty directories...$(NC)"
|
||||
@# Remove empty directories (including hidden ones), excluding .git and .venv
|
||||
@find . -type d -empty -not -path "./.git/*" -not -path "./.venv/*" -not -path "./venv/*" -not -path "./env/*" -not -path "./.env/*" -delete 2>/dev/null || true
|
||||
@# Second pass to remove newly created empty parent directories
|
||||
@find . -type d -empty -not -path "./.git/*" -not -path "./.venv/*" -not -path "./venv/*" -not -path "./env/*" -not -path "./.env/*" -delete 2>/dev/null || true
|
||||
@echo "$(GREEN)✓ Empty directories removed$(NC)"
|
||||
|
||||
# Clean everything (extended cleanup)
|
||||
clean-all: clean
|
||||
@echo "$(YELLOW)Removing additional files...$(NC)"
|
||||
@# Coverage reports
|
||||
@rm -rf htmlcov .coverage coverage.xml .coverage.* 2>/dev/null || true
|
||||
@# Build artifacts
|
||||
@rm -rf build/ dist/ *.egg-info .eggs/ 2>/dev/null || true
|
||||
@# Log files
|
||||
@find . -type f -name "*.log" -delete 2>/dev/null || true
|
||||
@# Jupyter notebooks checkpoint
|
||||
@find . -type d -name ".ipynb_checkpoints" -exec rm -rf {} + 2>/dev/null || true
|
||||
@# IDE files (optional, uncomment if needed)
|
||||
# @rm -rf .vscode/ .idea/ 2>/dev/null || true
|
||||
@echo "$(GREEN)✓ Extended cleanup completed!$(NC)"
|
||||
|
||||
# Dry run - show what would be deleted (for safety)
|
||||
clean-dry-run:
|
||||
@echo "$(YELLOW)Dry run - files that would be deleted:$(NC)"
|
||||
@echo "\nPython cache files:"
|
||||
@find . -type d -name "__pycache__" 2>/dev/null || echo "None"
|
||||
@find . -type f -name "*.pyc" 2>/dev/null || echo "None"
|
||||
@find . -type f -name "*.pyo" 2>/dev/null || echo "None"
|
||||
@echo "\nPytest cache:"
|
||||
@find . -type d -name ".pytest_cache" 2>/dev/null || echo "None"
|
||||
@echo "\nMypy cache:"
|
||||
@find . -type d -name ".mypy_cache" 2>/dev/null || echo "None"
|
||||
@echo "\nEmpty directories:"
|
||||
@find . -type d -empty -not -path "./.git/*" -not -path "./.venv/*" 2>/dev/null || echo "None"
|
||||
@echo "$(YELLOW)\nRun 'make clean' to actually delete these files$(NC)"
|
||||
Reference in new issue
Block a user