Crate proto_core

Source

Re-exports§

pub use warpgate;

Modules§

cfg
checksum
flow
layout
registry
utils

Structs§

CalVer
Container for a calendar version.
EnvFile
Id
An identifier for plugins.
LockRecord
PartialProtoBuildConfig
PartialProtoConfig
PartialProtoOfflineConfig
PartialProtoSettingsConfig
PartialProtoToolConfig
ProtoBuildConfig
ProtoConfig
ProtoConfigEnvOptions
ProtoConfigFile
ProtoDirEntry
ProtoEnvironment
ProtoFileManager
ProtoLock
ProtoOfflineConfig
ProtoSettingsConfig
ProtoToolConfig
RegexSetting
RegistryConfig
Configures an individual plugin registry.
SemVer
Container for a semantic version.
Tool
ToolManifest
ToolManifestVersion
ToolSpec
UnresolvedParser
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.
VersionResolver

Enums§

Backend
BuiltinPlugins
ConfigMode
DetectStrategy
EnvVar
ParseKind
ParsePart
PartialBuiltinPlugins
PartialEnvVar
PinLocation
PluginLocator
Strategies and protocols for locating plugins.
ProtoConfigError
ProtoEnvError
ProtoLoaderError
ProtoToolError
SpecError
UnresolvedVersionSpec
Represents an unresolved version or alias that must be resolved to a fully-qualified version.
VersionSpec
Represents a resolved version or alias.

Constants§

ENV_FILE_KEY
MANIFEST_NAME
PROTO_CONFIG_NAME
PROTO_LOCK_NAME
PROTO_PLUGIN_KEY
SCHEMA_PLUGIN_KEY

Statics§

ENV_VAR
ENV_VAR_SUB

Functions§

clean_version_req_string
Cleans a version requirement string by removing * version parts, and correcting AND operators.
clean_version_string
Cleans a potential version string by removing a leading v or V.
extract_filename_from_url
get_calver_regex
Get a regex pattern that matches calendar versions (calver). For example: 2024-02-26, 2024-12, 2024-01-alpha, etc.
get_proto_version
get_semver_regex
Get a regex pattern that matches semantic versions (semver). For example: 1.2.3, 6.5.4, 7.8.9-alpha, etc.
inject_proto_manifest_config
is_alias_name
Returns true if the provided value is an alias. An alias is a word that maps to version, for example, “latest” -> “1.2.3”.
is_archive_file
is_cache_enabled
is_calver
Returns true if the provided value is a calendar version string.
is_offline
is_semver
Returns true if the provided value is a semantic version string.
load_schema_config
load_schema_plugin_with_proto
load_tool
load_tool_from_locator
locate_tool
match_highest_version
normalize_path_separators
now
parse
Parse the provided string and determine the output format. Since an unresolved version can be many things, such as an alias, version requirement, semver, or calver, we need to parse this manually to determine the correct output.
parse_multi
Parse the provided string as a list of version requirements, as separated by ||. Each requirement will be parsed individually with parse.
read_json_file_with_lock
resolve_version
write_json_file_with_lock

Type Aliases§

ProtoConsole
ToolMetadata