Cấu hình cơ bản của Sitrep
Sitrep sử dụng định dạng YAML để thiết lập cấu hình thông qua file .sitrep.yml. Hệ thống này được triển khai trong lớp Configuration.swift tại đường dẫn Sources/SitrepCore/Configuration.swift. Mặc định, công cụ sẽ quét toàn bộ file Swift trong dự án, nhưng có thể tùy chỉnh phạm vi phân tích thông qua các thiết lập.
Phương pháp loại trừ thư mục
1. Loại trừ cơ bản qua cấu hình
excluded:
- ThirdPartyLibs
- ProjectTests/Performance
Cấu hình này sẽ bỏ qua toàn bộ thư mục được chỉ định. Ví dụ: khi thêm ProjectTests/Performance, công cụ sẽ không xử lý các file trong thư mục này.
2. Sử dụng tham số dòng lệnh
Kích hoạt cấu hình tạm thời bằng tham số --config:
sitrep --config test_config.yml
Phương pháp này không ảnh hưởng đến cấu hình mặc định, phù hợp để kiểm tra các quy tắc loại trừ khác nhau.
3. Thiết lập trong mã nguồn
Tạo đối tượng cấu hình trực tiếp trong Swift:
let customConfig = Configuration(excluded: ["BuildArtifacts", "Vendor/AnalyticsKit"])
Phù hợp khi tích hợp vào script tự động hóa hoặc công cụ tùy biến.
Tùy chỉnh quy tắc phân tích nâng cao
Quy trình tải cấu hình
Sitrep ưu tiên đọc file cấu hình từ đường dẫn được chỉ định. Nếu không tìm thấy, hệ thống sẽ dùng cấu hình mặc định. Hàm parse trong Configuration.swift hỗ trợ tải cấu hình từ đường dẫn file hoặc URL.
Xác minh cấu hình
Kiểm tra cấu hình đang áp dụng bằng tham số --info:
sitrep --info
Lệnh này hiển thị đường dẫn file cấu hình và danh sách thư mục bị loại trừ.
Thực tiễn tối ưu
Quy tắc khớp đường dẫn
Sitrep sử dụng khớp đường dẫn tuyệt đối. Ví dụ để loại trừ thư mục cache:
excluded:
- Sources/GeneratedCode
Lưu ý hiệu năng
Với dự án lớn, nên loại trừ các thư mục sau để tăng tốc độ phân tích:
- Thư viện phụ thuộc bên ngoài (ví dụ:
Pods/) - Thư mục đầu ra build (ví dụ:
build/) - Thư mục file tạm (ví dụ:
/tmp)