#![cfg_attr(coverage_nightly, coverage(off))]
use crate::models::defect_report::{
Defect, DefectCategory, DefectReport, DefectSummary, FileHotspot, ReportMetadata,
};
use crate::services::defect_analyzer::DefectAnalyzer;
use anyhow::Result;
use chrono::Utc;
#[cfg(feature = "reporting")]
use csv::Writer;
use serde_json;
use std::collections::{BTreeMap, HashMap};
use std::path::{Path, PathBuf};
use std::sync::Arc;
use tokio::sync::Semaphore;
use tracing::{debug, info, warn};
pub struct DefectReportService {
semaphore: Arc<Semaphore>,
}
#[derive(Debug, Clone, Copy)]
pub enum ReportFormat {
Json,
Csv,
Markdown,
Text,
}
include!("defect_report_core.rs");
include!("defect_report_formatting.rs");
include!("defect_report_filtering.rs");
#[cfg(all(test, feature = "broken-tests"))]
#[path = "tests.rs"]
mod tests;