docs/maintainers/types.go

55 lines
1.4 KiB
Go

package main
// Maintainers defines the struct for a MAINTAINERS file
type Maintainers struct {
Rules map[string]Rule
Roles map[string]Role
Org map[string]*Org
People map[string]Person
}
// Rule is a project rule
type Rule struct {
Title string `toml:"title,omitempty"`
Text string `toml:"text,omitempty"`
}
// Role is a project role
type Role struct {
Person string `toml:"person,omitempty"`
Text string `toml:"text,omitempty"`
}
// Org defines the organization within a project
type Org struct {
People []string
}
// Person member of the project
type Person struct {
Name string
Email string
GitHub string
}
// MaintainersDepreciated is an old struct for compatibility
// with the docker/docker maintainers file.
// TODO: delete this once the file in docker/docker repo is updated
type MaintainersDepreciated struct {
Rules map[string]Rule
Organization Organization `toml:"Org"`
People map[string]Person
}
// Organization defines the project's organization
// TODO: delete this once MaintainersDepreciated is removed
type Organization struct {
BDFL string `toml:"bdfl"`
ChiefArchitect string `toml:"Chief Architect"`
ChiefMaintainer string `toml:"Chief Maintainer"`
CommunityManager string `toml:"Community Manager"`
CoreMaintainers *Org `toml:"Core maintainers"`
DocsMaintainers *Org `toml:"Docs maintainers"`
Curators *Org `toml:"Curators"`
}