Skip to main content

Crate moon_config

Crate moon_config 

Source

Re-exports§

pub use schematic;

Modules§

patterns
test_utils

Macros§

config_enum
config_struct
config_unit_enum
config_untagged_enum
generate_switch

Structs§

BinConfig
Configures to a tool-specific global binary to install.
CalVer
Container for a calendar version.
CodeownersConfig
Configures code ownership rules for generating a CODEOWNERS file.
ConfigFinder
ConfigLoader
ConstraintsConfig
Configures boundaries and constraints between projects.
DockerConfig
Configures our Docker integration.
DockerFileConfig
Configures Dockerfile generation. When configured at the workspace-level, applies to all projects, but can be overridden at the project-level.
DockerPruneConfig
Configures aspects of the Docker pruning process.
DockerScaffoldConfig
Configures aspects of the Docker scaffolding process. When configured at the workspace-level, applies to all projects, but can be overridden at the project-level.
ExperimentsConfig
Configures experiments across the entire moon workspace.
ExtensionPluginConfig
Configures an individual extension.
ExtensionsConfig
Configures all extensions.
FileGroupInput
A file group input.
FileInput
A file path input.
FileOutput
A file path output.
FilePath
GeneratorConfig
Configures the generator for scaffolding from templates.
GlobInput
A glob pattern input.
GlobOutput
A glob pattern output.
GlobPath
HasherConfig
Configures aspects of the content hashing engine.
InheritFor
InheritedByConfig
Configures conditions that must match against a project for tasks to be inherited. If multiple conditions are defined, then all must match for inheritance to occur. If no conditions are defined, then tasks will be inherited by all projects.
InheritedClauseConfig
A condition that utilizes a combination of logical operators to match against. When matching, all clauses must be satisfied.
InheritedTasks
InheritedTasksConfig
Configures tasks and task related settings that’ll be inherited by all matching projects. Docs: https://moonrepo.dev/docs/config/tasks
InheritedTasksEntry
InheritedTasksManager
ManifestDepsInput
A manifest file’s dependencies input.
MoonConfig
Configures how and where moon updates will be received.
NotifierConfig
Configures how and where notifications are sent.
OwnersConfig
Defines ownership of source code within the current project, by mapping file paths and glob patterns to owners. An owner is either a user, team, or group.
PartialBinConfig
Configures to a tool-specific global binary to install.
PartialCodeownersConfig
Configures code ownership rules for generating a CODEOWNERS file.
PartialConstraintsConfig
Configures boundaries and constraints between projects.
PartialDockerConfig
Configures our Docker integration.
PartialDockerFileConfig
Configures Dockerfile generation. When configured at the workspace-level, applies to all projects, but can be overridden at the project-level.
PartialDockerPruneConfig
Configures aspects of the Docker pruning process.
PartialDockerScaffoldConfig
Configures aspects of the Docker scaffolding process. When configured at the workspace-level, applies to all projects, but can be overridden at the project-level.
PartialExperimentsConfig
Configures experiments across the entire moon workspace.
PartialExtensionPluginConfig
Configures an individual extension.
PartialExtensionsConfig
Configures all extensions.
PartialFileGroupInput
A file group input.
PartialFileInput
A file path input.
PartialFileOutput
A file path output.
PartialGeneratorConfig
Configures the generator for scaffolding from templates.
PartialGlobInput
A glob pattern input.
PartialGlobOutput
A glob pattern output.
PartialHasherConfig
Configures aspects of the content hashing engine.
PartialInheritedByConfig
Configures conditions that must match against a project for tasks to be inherited. If multiple conditions are defined, then all must match for inheritance to occur. If no conditions are defined, then tasks will be inherited by all projects.
PartialInheritedClauseConfig
A condition that utilizes a combination of logical operators to match against. When matching, all clauses must be satisfied.
PartialInheritedTasksConfig
Configures tasks and task related settings that’ll be inherited by all matching projects. Docs: https://moonrepo.dev/docs/config/tasks
PartialManifestDepsInput
A manifest file’s dependencies input.
PartialMoonConfig
Configures how and where moon updates will be received.
PartialNotifierConfig
Configures how and where notifications are sent.
PartialOwnersConfig
Defines ownership of source code within the current project, by mapping file paths and glob patterns to owners. An owner is either a user, team, or group.
PartialPipelineConfig
Configures aspects of the action pipeline.
PartialProjectConfig
Configures information and tasks for a project. Docs: https://moonrepo.dev/docs/config/project
PartialProjectDependencyConfig
Expanded information about a project dependency.
PartialProjectDockerConfig
Configures our Docker integration. @since 1.27.0
PartialProjectInput
An external project input.
PartialProjectMetadataConfig
Expanded information about the project.
PartialProjectToolchainsConfig
Overrides top-level toolchain settings, scoped to this project.
PartialProjectWorkspaceConfig
Overrides workspace settings, scoped to this project.
PartialProjectWorkspaceInheritedTasksConfig
Controls how workspace-level tasks are inherited.
PartialProtoConfig
Configures how moon integrates with proto.
PartialRemoteAuthConfig
Configures basic HTTP authentication. @since 1.32.0
PartialRemoteCacheConfig
Configures the action cache (AC) and content addressable cache (CAS). @since 1.30.0
PartialRemoteConfig
Configures the remote service, powered by the Bazel Remote Execution API. @since 1.30.0
PartialRemoteMtlsConfig
Configures for both server and client authentication with mTLS. @since 1.30.0
PartialRemoteTlsConfig
Configures for server-only authentication with TLS. @since 1.30.0
PartialTaskConfig
Configures a task to be ran within the action pipeline.
PartialTaskDependencyConfig
Expanded information about a task dependency.
PartialTaskOptionAffectedFilesConfig
Expanded information about affected files handling.
PartialTaskOptionsConfig
Options to control task inheritance, execution, and more.
PartialTemplateConfig
Configures a template and its files to be scaffolded. Docs: https://moonrepo.dev/docs/config/template
PartialTemplateFrontmatterConfig
Configures the leading frontmatter within a template file. Docs: https://moonrepo.dev/docs/config/template#frontmatter
PartialTemplateVariableArraySetting
Configuration for a template variable.
PartialTemplateVariableBoolSetting
Configuration for a template variable.
PartialTemplateVariableEnumSetting
PartialTemplateVariableEnumValueConfig
PartialTemplateVariableNumberSetting
Configuration for a template variable.
PartialTemplateVariableObjectSetting
Configuration for a template variable.
PartialTemplateVariableStringSetting
Configuration for a template variable.
PartialToolchainPluginConfig
Configures an individual toolchain.
PartialToolchainsConfig
Configures all toolchains. Docs: https://moonrepo.dev/docs/config/toolchain
PartialVcsConfig
Configures the version control system (VCS).
PartialWorkspaceConfig
Configures all aspects of the moon workspace. Docs: https://moonrepo.dev/docs/config/workspace
PartialWorkspaceProjectsConfig
Configures projects in the workspace, using both globs and explicit source paths.
PipelineConfig
Configures aspects of the action pipeline.
ProjectConfig
Configures information and tasks for a project. Docs: https://moonrepo.dev/docs/config/project
ProjectDependencyConfig
Expanded information about a project dependency.
ProjectDockerConfig
Configures our Docker integration. @since 1.27.0
ProjectInput
An external project input.
ProjectMetadataConfig
Expanded information about the project.
ProjectToolchainsConfig
Overrides top-level toolchain settings, scoped to this project.
ProjectWorkspaceConfig
Overrides workspace settings, scoped to this project.
ProjectWorkspaceInheritedTasksConfig
Controls how workspace-level tasks are inherited.
ProtoConfig
Configures how moon integrates with proto.
RemoteAuthConfig
Configures basic HTTP authentication. @since 1.32.0
RemoteCacheConfig
Configures the action cache (AC) and content addressable cache (CAS). @since 1.30.0
RemoteConfig
Configures the remote service, powered by the Bazel Remote Execution API. @since 1.30.0
RemoteMtlsConfig
Configures for both server and client authentication with mTLS. @since 1.30.0
RemoteTlsConfig
Configures for server-only authentication with TLS. @since 1.30.0
SemVer
Container for a semantic version.
TaskConfig
Configures a task to be ran within the action pipeline.
TaskDependencyConfig
Expanded information about a task dependency.
TaskOptionAffectedFilesConfig
Expanded information about affected files handling.
TaskOptionsConfig
Options to control task inheritance, execution, and more.
TemplateConfig
Configures a template and its files to be scaffolded. Docs: https://moonrepo.dev/docs/config/template
TemplateFrontmatterConfig
Configures the leading frontmatter within a template file. Docs: https://moonrepo.dev/docs/config/template#frontmatter
TemplateVariableArraySetting
Configuration for a template variable.
TemplateVariableBoolSetting
Configuration for a template variable.
TemplateVariableEnumSetting
TemplateVariableEnumValueConfig
TemplateVariableNumberSetting
Configuration for a template variable.
TemplateVariableObjectSetting
Configuration for a template variable.
TemplateVariableStringSetting
Configuration for a template variable.
ToolchainPluginConfig
Configures an individual toolchain.
ToolchainsConfig
Configures all toolchains. Docs: https://moonrepo.dev/docs/config/toolchain
Uri
VcsConfig
Configures the version control system (VCS).
Version
SemVer version as defined by https://semver.org.
VersionReq
SemVer version requirement describing the intersection of some version comparators, such as >=1.2.3, <1.8.
WorkspaceConfig
Configures all aspects of the moon workspace. Docs: https://moonrepo.dev/docs/config/workspace
WorkspaceProjectsConfig
Configures projects in the workspace, using both globs and explicit source paths.

Enums§

BinEntry
Configures to a tool-specific global binary to install.
CodeownersOrderBy
How to order ownership rules within the generated file.
DependencyScope
The relationship scope of a dependency.
DependencySource
The source where the dependency comes from. Either explicitly defined in configuration, or implicitly derived from source files.
FileGroupInputFormat
Available formats to resolve the file group into.
HasherOptimization
The optimization to use when hashing.
HasherWalkStrategy
The strategy to use when walking the file system.
InheritedConditionConfig
Patterns in which a condition can be configured as.
Input
The different patterns a task input can be defined as.
LanguageType
Supported programming languages that each project can be written in.
LayerType
The layer within the technology stack, for categorizing.
NotifierEventType
The types of events in which to send notifications.
OneOrMany
Represents a single value, or a list of multiple values.
Output
The different patterns a task output can be defined as.
OwnersPaths
A mapping of file paths and file globs to owners.
PartialBinEntry
Configures to a tool-specific global binary to install.
PartialInheritedConditionConfig
Patterns in which a condition can be configured as.
PartialOwnersPaths
A mapping of file paths and file globs to owners.
PartialPipelineActionSwitch
Toggles the state of actions within the pipeline.
PartialProjectDependsOn
Expanded information about a project dependency.
PartialProjectToolchainEntry
Variants a project-level toolchain can be configured.
PartialTaskArgs
Configures a command and its arguments to execute.
PartialTaskDependency
Configures another task that this task depends on.
PartialTaskOptionAffectedFilesEntry
PartialTemplateVariable
Each type of template variable.
PartialTemplateVariableEnumDefault
PartialTemplateVariableEnumValue
PartialWorkspaceProjects
Configures projects in the workspace.
PipelineActionSwitch
Toggles the state of actions within the pipeline.
ProjectDependsOn
Expanded information about a project dependency.
ProjectToolchainEntry
Variants a project-level toolchain can be configured.
RemoteApi
The API format of the remote service. @since 1.32.0
RemoteCompression
Supported blob compression levels for gRPC APIs. @since 1.31.0
StackType
The technology stack of the project, for categorizing.
TaskArgs
Configures a command and its arguments to execute.
TaskDependency
Configures another task that this task depends on.
TaskDependencyType
The task-to-task relationship of the dependency.
TaskMergeStrategy
The strategy in which to merge a specific task option.
TaskOperatingSystem
The operating system in which to only run this task on.
TaskOptionAffectedFilesEntry
TaskOptionAffectedFilesPattern
The pattern in which affected files will be passed to the affected task.
TaskOptionCache
The environment in which to apply task caching.
TaskOptionEnvFile
The pattern in which a task is dependent on a .env file.
TaskOptionRunInCI
The pattern in which to run the task automatically in CI.
TaskOutputStyle
The style in which task output will be printed to the console.
TaskPreset
Preset options to inherit.
TaskPriority
The priority levels a task can be bucketed into when running in the action pipeline.
TaskType
The type of task.
TaskUnixShell
A list of available shells on Unix.
TaskWindowsShell
A list of available shells on Windows.
TemplateLocator
TemplateVariable
Each type of template variable.
TemplateVariableEnumDefault
TemplateVariableEnumValue
ToolchainPluginVersionFrom
The strategy in which to inherit a version from .prototools.
UnresolvedVersionSpec
Represents an unresolved version or alias that must be resolved to a fully-qualified version.
VcsClient
The VCS being utilized by the repository.
VcsHookFormat
The format to use for generated VCS hook files. @since 1.29.0
VcsProvider
The upstream version control provider, where the repository source code is stored.
VersionSpec
Represents a resolved version or alias.
WorkspaceProjectGlobFormat
The project identifier format for glob located projects.
WorkspaceProjects
Configures projects in the workspace.

Traits§

PortablePath

Functions§

finalize_config
is_false
is_glob_like
validate_child_relative_path
validate_relative_path

Type Aliases§

EnvMap