Skip to content

plugin-builder-aur

Placement runtime (out-of-process over gRPC)
Source github.com/opencharly/charly/candy/plugin-builder-aur
Version 2026.182.0400
Candy plugin-builder-aur

This plugin is not listed in charly/charly.yml’s compiled_plugins:. It is not part of the shipped binary: charly builds and loads it out-of-process over gRPC when a plan references one of its words (the coexist path).

The reserved words this plugin serves:

  • aur — builder class

OUT-OF-TREE charly plugin serving the aur builder’s BUILD-TIME multi-stage (OpResolve)

  • its DEPLOY-TIME IR shim. A standalone Go module dispatching to the shared sdk/kit logic (R3): OpResolve (→ kit.BuilderResolve — the FROM <builder> AS aur-build yay/makepkg stage + the /tmp/aur-pkgs COPY artifact, C10, no longer the core embedded vocabulary), OpCollectContext (aur → {packages, replaces} from the candy’s aur: section) and OpReverse (aur → package-remove, system scope, pac format — the host fills the UninstallCmd later via fillReverseUninstallCmds). The deploy-time pair runs in the host build PRE-PASS, BEFORE the pure BuildDeployPlan compile, so the compiler never dials a plugin. Selection stays DETECTION (a candy’s aur: section), never an authored external_builder:.

The CUE schema below is the authoritative grammar for this plugin’s input. It is the same single source that generates the plugin’s Go parameter types and answers the runtime Describe RPC, so this page cannot disagree with either.

// Self-contained input schema for the builder:aur capability — references no base def, so it
// compiles standalone (the SDK's serve-side compile). A builder authors no plugin_input (it is
// TRIGGERED by detection — a candy's aur: package section — never by an authored field), so this def
// carries no fields; it ships so the schema travels with the plugin (non-empty, base ++ plugin splice).
#AurBuilderInput: {
}

See also the candy reference for this candy’s install surface.