Documentation
¶
Index ¶
- Constants
- Variables
- func AddProfilingFlags(cmd *cobra.Command, ...)
- func Execute()
- func FilterOverlapSummariesByMinPercent(overlapSummaries []c.OverlapSummary, minPercent float64) []c.OverlapSummary
- func GenerateConflictReport(logger *multilog.Logger, summaryFile string) (string, error)
- func GetConfigPath() (string, error)
- func InitForTesting()
- func IsConsolidatedSummaryValid(summary c.ConsolidatedSummary) bool
- func ResolveConflictsByCounts(logger *multilog.Logger, processedFiles []c.ProcessedFile) (string, string, string, error)
- type CategoriesStats
- type ConflictDetail
- type ConsolidateListStats
- type ConsolidateStats
- type ConsolidateTypeStats
- type ConsolidationManager
- type ConsolidationParams
- type DownloadStats
- type GroupsStats
- type OverallSummaryStats
- type OverlapDetail
- type OverlapStats
- type OverrideRecord
- type ProcessingConfig
- type ProcessingStats
- type ResolutionResult
- type SourceMaps
- type SourceStats
- type SummariesInfo
- type SummaryTypeInfo
- type TargetDetail
- type TopFileDetail
- type TopStats
- type WorkflowSummary
Constants ¶
const ( DecisionBlock = "block" DecisionAllow = "allow" DecisionConflict = "conflict" ReasonCounts = "counts" ReasonManualForcedBlock = "manual_forced_block" ReasonManualForcedAllow = "manual_forced_allow" ReasonEqualCounts = "equal_counts" )
Decision constants
Variables ¶
var ( Logger *multilog.Logger AppConfig *config.AppConfig SourcesConfigs []config.SourcesConfig )
Functions ¶
func AddProfilingFlags ¶
func AddProfilingFlags( cmd *cobra.Command, cpuProfileVar, memProfileVar, goroutineProfileVar, blockProfileVar *bool, profileDirVar *string, )
AddProfilingFlags adds profiling flags to the provided command
func FilterOverlapSummariesByMinPercent ¶ added in v0.4.0
func FilterOverlapSummariesByMinPercent(overlapSummaries []c.OverlapSummary, minPercent float64) []c.OverlapSummary
FilterOverlapSummariesByMinPercent filters overlap summaries by minimum overlap percent.
func GenerateConflictReport ¶ added in v1.0.0
GenerateConflictReport generates markdown from JSON summary
func GetConfigPath ¶
GetConfigPath returns the path to the configuration file.
func InitForTesting ¶
func InitForTesting()
InitForTesting initializes directories for testing when cobra.OnInitialize is not called
func IsConsolidatedSummaryValid ¶
func IsConsolidatedSummaryValid(summary c.ConsolidatedSummary) bool
func ResolveConflictsByCounts ¶ added in v1.0.0
func ResolveConflictsByCounts( logger *multilog.Logger, processedFiles []c.ProcessedFile, ) (string, string, string, error)
ResolveConflictsByCounts builds allowlist and blocklist and JSON summary. Uses count-based resolution: higher count wins, equal counts create conflicts.
Types ¶
type CategoriesStats ¶
type ConflictDetail ¶ added in v1.0.0
type ConflictDetail struct { Entry string `json:"entry"` BlockSources []string `json:"block_sources"` AllowSources []string `json:"allow_sources"` BlockCount int `json:"block_count"` AllowCount int `json:"allow_count"` }
ConflictDetail captures entries that need manual review
func BuildResolutionSets ¶ added in v1.0.0
func BuildResolutionSets( logger *multilog.Logger, processedFiles []c.ProcessedFile, ) ( map[string]u.StringSet, map[string]u.StringSet, []ConflictDetail, map[string]struct{}, map[string]struct{}, map[string]ConflictDetail, )
BuildResolutionSets processes files and returns complete resolution results
type ConsolidateListStats ¶
type ConsolidateStats ¶
type ConsolidateStats struct { FilesByType map[string]ConsolidateTypeStats LastUpdateTime string TotalFiles int }
type ConsolidateTypeStats ¶
type ConsolidateTypeStats struct { Blocklist ConsolidateListStats Allowlist ConsolidateListStats }
type ConsolidationManager ¶ added in v1.0.0
type ConsolidationManager struct {
// contains filtered or unexported fields
}
ConsolidationManager handles general consolidation conflict resolution
func NewConsolidationManager ¶ added in v1.0.0
func NewConsolidationManager(logger *multilog.Logger) *ConsolidationManager
NewConsolidationManager creates a new manager
func (*ConsolidationManager) GenerateConflictReport ¶ added in v1.0.0
func (cm *ConsolidationManager) GenerateConflictReport(processedFiles []c.ProcessedFile) error
GenerateConflictReport generates conflict report for general consolidation
type ConsolidationParams ¶
type ConsolidationParams struct { GenericSourceType string ListType string Identifier string // group or category OutputDir string IdentifierField string // "Group" or "Category" }
ConsolidationParams holds parameters for consolidation functions
type DownloadStats ¶
type GroupsStats ¶
type OverallSummaryStats ¶
type OverlapDetail ¶
type OverlapStats ¶
type OverrideRecord ¶ added in v1.0.0
type OverrideRecord struct { Entry string `json:"entry"` Decision string `json:"decision"` Reason string `json:"reason"` BlockSrcs []string `json:"block_sources"` AllowSrcs []string `json:"allow_sources"` BlockCount int `json:"block_count"` AllowCount int `json:"allow_count"` }
OverrideRecord represents a single override decision
type ProcessingConfig ¶
type ProcessingConfig struct { GetFilesFunc func([]c.ProcessedFile, string) []c.ProcessedFile ConsolidateFunc func(*multilog.Logger, string, string, string, u.StringSet, []c.ProcessedFile) (u.StringSet, c.ConsolidatedSummary) // nolint:lll Identifier string IdentifierField string ProcessedFiles []c.ProcessedFile GenericSourceTypes []string }
ProcessingConfig holds configuration for processing consolidation
type ProcessingStats ¶
type ResolutionResult ¶ added in v1.0.0
type ResolutionResult struct { ManualOverride struct { AllowToBlock map[string]struct{} BlockToAllow map[string]struct{} } AllowByType map[string]u.StringSet BlockByType map[string]u.StringSet DetailsMap map[string]ConflictDetail Conflicts []ConflictDetail }
ResolutionResult contains the results of conflict resolution
type SourceMaps ¶ added in v1.0.0
type SourceMaps struct { BlockMap map[string]map[string]struct{} AllowMap map[string]map[string]struct{} EntryTypes map[string]map[string]struct{} }
SourceMaps contains all source mapping data
type SourceStats ¶
type SummariesInfo ¶
type SummariesInfo struct { SummaryTypes map[string]SummaryTypeInfo LastGenerated string TotalFiles int OverallStats OverallSummaryStats }
SummariesInfo holds information about summary files
type SummaryTypeInfo ¶
type TargetDetail ¶
type TopFileDetail ¶
type WorkflowSummary ¶
type WorkflowSummary struct { LastRun string Processing ProcessingStats Groups GroupsStats Categories CategoriesStats Top TopStats Consolidate ConsolidateStats Overlap OverlapStats Download DownloadStats }
WorkflowSummary holds summary data for the entire workflow
Source Files
¶
- archive.go
- common.go
- config.go
- conflicts.go
- consolidate.go
- consolidate_categories.go
- consolidate_common.go
- consolidate_groups.go
- consolidation_mgr.go
- download.go
- generate_allowlist.go
- generate_credits.go
- generate_output.go
- generate_overlap.go
- generate_readme.go
- generate_stats.go
- generate_summaries_readme.go
- overlap.go
- process.go
- resolve_counts.go
- root.go
- search.go
- source_type_summary.go
- top_entries.go
- validate_sources.go
- version.go