Expand description
CODEOWNERS sync providers for different platforms.
This module provides a trait-based abstraction for syncing CODEOWNERS files across different platforms (GitHub, GitLab, Bitbucket). Each platform has specific requirements for file location and section syntax.
§Provider Implementations
Provider implementations are available in separate platform crates:
cuenv-github:GitHubCodeownersProvidercuenv-gitlab:GitLabCodeownersProvidercuenv-bitbucket:BitbucketCodeownersProvider
§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§
- Check
Result - Result of a check operation.
- Project
Owners - Project with its owners configuration and relative path.
- Sync
Result - Result of a sync operation.
Enums§
- Provider
Error - Error type for provider operations.
- Sync
Status - Status of a sync operation.
Traits§
- Codeowners
Provider - 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.