Skip to main content

Crate grex_core

Crate grex_core 

Source
Expand description

grex-core — manifest, lockfile, scheduler, pack model, plugin traits.

M2 lands: manifest event log + lockfile + atomic file primitives.

Re-exports§

pub use execute::ActionExecutor;
pub use execute::ExecCtx;
pub use execute::ExecError;
pub use execute::ExecResult;
pub use execute::ExecStep;
pub use execute::FsExecutor;
pub use execute::PlanExecutor;
pub use execute::Platform;
pub use execute::PredicateOutcome;
pub use execute::StepKind;
pub use git::ClonedRepo;
pub use git::GitBackend;
pub use git::GitError;
pub use git::GixBackend;
pub use pack::run_all;
pub use pack::Action;
pub use pack::ChildRef;
pub use pack::Combiner;
pub use pack::EnvArgs;
pub use pack::EnvScope;
pub use pack::ExecOnFail;
pub use pack::ExecSpec;
pub use pack::MkdirArgs;
pub use pack::OsKind;
pub use pack::PackManifest;
pub use pack::PackParseError;
pub use pack::PackType;
pub use pack::PackValidationError;
pub use pack::Predicate;
pub use pack::RequireOnFail;
pub use pack::RequireSpec;
pub use pack::RmdirArgs;
pub use pack::SchemaVersion;
pub use pack::SymlinkArgs;
pub use pack::SymlinkKind;
pub use pack::UnlinkArgs;
pub use pack::Validator;
pub use pack::WhenSpec;
pub use tree::build_ls_tree;
pub use tree::dest_has_git_repo;
pub use tree::synthesize_plain_git_manifest;
pub use tree::EdgeKind;
pub use tree::FsPackLoader;
pub use tree::LsNode;
pub use tree::LsNodeError;
pub use tree::LsTree;
pub use tree::PackGraph;
pub use tree::PackLoader;
pub use tree::PackNode;
pub use tree::TreeError;
pub use vars::expand;
pub use vars::VarEnv;
pub use vars::VarExpandError;
pub use scheduler::Cancelled;
pub use scheduler::Scheduler;
pub use pack_lock::PackLock;
pub use pack_lock::PackLockError;
pub use pack_lock::Tier;
pub use pack_lock::PACK_LOCK_FILE_NAME;
pub use plugin::register_builtins;
pub use plugin::ActionPlugin;
pub use plugin::EnvPlugin;
pub use plugin::ExecPlugin;
pub use plugin::MkdirPlugin;
pub use plugin::Registry;
pub use plugin::RequirePlugin;
pub use plugin::RmdirPlugin;
pub use plugin::SymlinkPlugin;
pub use plugin::UnlinkPlugin;
pub use plugin::WhenPlugin;

Modules§

add
Shared pack-registration helper used by grex add and import.
doctor
grex doctor — read-only health checks for a grex workspace.
env
Pluggable environment-variable resolver (M4-B Stream S3).
execute
Action execution framework.
fs
Filesystem primitives used by the manifest + lockfile layers.
git
Decoupled git backend surface used by the pack walker and exec path.
import
grex import — ingest legacy flat REPOS.json into a manifest.
lockfile
Resolved-state lockfile (grex.lock.jsonl).
log
Pluggable action logger (M4-B Stream S3).
manifest
Intent event log (<workspace>/.grex/events.jsonl).
pack
Pack-manifest (pack.yaml) parser.
pack_lock
Per-pack .grex-lock file lock — feat-m6-2.
plugin
Plugin system — Stage A slicing (M4-A).
scheduler
Bounded parallel scheduler for grex sync — feat-m6-1.
sync
Sync orchestrator — M3 Stage B slice 6.
tree
Pack-tree walker.
vars
Variable expansion for action-argument strings.