grex_plugins_builtin/lib.rs
1//! grex-plugins-builtin — built-in action primitives and pack-type handlers.
2//!
3//! Stub crate reserved for v2 third-party plugin loading. In v1, all
4//! builtins live in `grex-core::plugin` and are re-exported here for
5//! forward-compat import paths.
6//!
7//! M4-A: the Tier-1 action plugins (`symlink`, `env`, `mkdir`, `rmdir`,
8//! `require`, `when`, `exec`) live inside `grex-core::plugin` because the
9//! wet-run logic is already there; hoisting the structs alone into this
10//! crate would either force the executor free functions out of
11//! `grex-core` or create a circular `grex-core` ↔ `grex-plugins-builtin`
12//! dependency. This crate therefore re-exports the canonical
13//! [`register_builtins`] path and the per-action plugin types so
14//! downstream CLI crates can bind to `grex_plugins_builtin::...` even
15//! while the implementations co-locate with the executor.
16
17#![forbid(unsafe_code)]
18
19pub use grex_core::plugin::{
20 register_builtins, ActionPlugin, EnvPlugin, ExecPlugin, MkdirPlugin, Registry, RequirePlugin,
21 RmdirPlugin, SymlinkPlugin, WhenPlugin,
22};