Construct an ad-hoc error from a string or existing non-anyhow
error
value.
Wrap an enum with common derives and serde required attributes.
Wrap a struct with common derives and serde required attributes.
Calls the exec_command
host function to execute a command on
the host as a synchronous child process.
Calls the get_env_var
or set_env_var
host function to manage
environment variables on the host.
Calls the host_log
host function to log a message to the host’s terminal.
Generate all permutations for the provided OS and architecture mapping.
Return an error message wrapped in [WithReturnCode
], for use within #[plugin_fn]
.
Calls from_virtual_path
on the host to convert the provided value to a real path
from a virtual path.
Calls to_virtual_path
on the host to convert the provided value to a virtual path
from a real path.
Source code is contained in an archive.
Input passed to the build_instructions
function.
Output returned by the build_instructions
function.
A command and its parameters to be executed as a child process.
Configuration for one or many system dependencies (packages).
Output returned by the detect_version_files
function.
Input passed to the download_prebuilt
function.
Output returned by the download_prebuilt
function.
Represents an empty input.
Input passed to the exec_command
host function.
Output returned from the exec_command
host function.
Configuration for generated shim and symlinked binary files.
A GitHub release locator.
Source code is located in a Git repository.
Information about the host environment (the current runtime).
Input passed to the host_log
host function.
Input passed to the pre_install
and post_install
hooks,
while a proto install
command is running.
Input passed to the load_versions
function.
Output returned by the load_versions
function.
Input passed to the locate_executables
function.
Output returned by the locate_executables
function.
Input passed to the native_install
function.
Output returned by the native_install
function.
Input passed to the native_uninstall
function.
Output returned by the native_uninstall
function.
Input passed to the parse_version_file
function.
Output returned by the parse_version_file
function.
Input passed to the resolve_version
function.
Output returned by the resolve_version
function.
Input passed to the pre_run
hook, before a proto run
command
or language binary is ran.
Output returned from the pre_run
hook.
Input passed to the sync_manifest
function.
Output returned by the sync_manifest
function.
Input passed to the sync_shell_profile
function.
Output returned by the sync_shell_profile
function.
Information about the current testing environment.
Information about the current state of the tool.
Controls aspects of the tool inventory.
Input passed to the register_tool
function.
Output returned by the register_tool
function.
Input passed to the unpack_archive
function.
Output returned by the verify_checksum
function.
Output returned by the verify_checksum
function.
SemVer version requirement describing the intersection of some version
comparators, such as >=1.2.3, <1.8
.
An instruction to execute.
Is required and must exist in the current environment.
A system dependency name in multiple formats.
Architecture of the system environment.
Libc being used in the system environment.
Target where host logs should be written to.
Operating system of the current environment.
Errors that may occur from within a plugin.
Strategies and protocols for locating plugins.
Errors during plugin locator parsing.
Supported types of plugins.
The location in which source code can be acquired.
Either a string, or a list of strings.
Represents a system dependency (one or many packages) to install.
Package manager of the system environment.
Represents an unresolved version or alias that must be resolved
to a fully-qualified and semantic result.
Represents a resolved version or alias.
A container for WASI virtual paths that can also keep a reference to the original real path.
Validate the current host OS and architecture against the
supported list of target permutations.
Cleans a potential version string by removing a leading v
or V
,
removing each occurence of .*
, and removing invalid spaces.
Check whether a command exists or not on the host machine.
Fetch the provided request and return a response object.
Fetch the provided URL and deserialize the response as JSON.
Fetch the provided URL and deserialize the response as bytes.
Fetch the provided URL and return the text response.
Fetch the provided URL, deserialize the response as JSON,
and cache the response in memory for subsequent WASM function calls.
Return information about the host environment.
Return the ID for the current plugin.
Return a Rust target triple for the current host OS and architecture.
Return information about the testing environment.
Get proto tool configuration that was configured in a .prototools
file.
Returns true if the provided value is an alias. An alias is a word that
maps to version, for example, “latest” -> “1.2.3”.
Detect whether the current OS is utilizing musl instead of gnu.
Load all git tags from the provided remote URL.
The git
binary must exist on the current machine.