Skip to main content

Module provider

Module provider 

Source
Expand description

CODEOWNERS sync providers.

This module provides a trait-based abstraction for syncing CODEOWNERS files. Provider implementations live in platform crates (e.g., cuenv-github, cuenv-gitlab).

§Provider Implementations

  • cuenv-github: GitHub CODEOWNERS (.github/CODEOWNERS, comment sections)
  • cuenv-gitlab: GitLab CODEOWNERS (CODEOWNERS, bracket sections)

§Example

use cuenv_codeowners::provider::{CodeOwnersProvider, ProjectOwners};
use cuenv_github::GitHubCodeOwnersProvider;
use std::path::Path;

let provider = GitHubCodeOwnersProvider;
let projects = vec![/* ... */];
let result = provider.sync(Path::new("."), &projects, false)?;

Structs§

CheckResult
Result of a check operation.
ProjectOwners
Project with its owners configuration and relative path.
SyncResult
Result of a sync operation.

Enums§

ProviderError
Error type for provider operations.
SyncStatus
Status of a sync operation.

Traits§

CodeOwnersProvider
Trait for CODEOWNERS sync providers.

Functions§

generate_aggregated_content
Generate aggregated CODEOWNERS content from multiple projects.
prefix_pattern
Prefix a pattern with the project’s relative path.
write_codeowners_file
Write content to a file, creating parent directories as needed.

Type Aliases§

Result
Result type for provider operations.