[package]
edition = "2021"
rust-version = "1.79"
name = "grex-core"
version = "1.3.1"
authors = ["egoisth777"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Core library for grex, the nested meta-repo manager: manifest, lockfile, scheduler, pack model, plugin traits."
documentation = "https://docs.rs/grex-core"
readme = false
keywords = [
"dev-environment",
"orchestrator",
"pack",
"mcp",
"cli",
]
categories = [
"command-line-utilities",
"development-tools",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/egoisth777/grex"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[package.metadata.cargo-machete]
ignored = [
"anyhow",
"serde_yaml",
"tokio",
"winreg",
]
[features]
plugin-inventory = ["dep:inventory"]
[lib]
name = "grex_core"
path = "src/lib.rs"
[[test]]
name = "atomic_write_survives_crash"
path = "tests/atomic_write_survives_crash.rs"
[[test]]
name = "cancel_plumbing"
path = "tests/cancel_plumbing.rs"
[[test]]
name = "cancellation_no_deadlock"
path = "tests/cancellation_no_deadlock.rs"
[[test]]
name = "concurrency"
path = "tests/concurrency.rs"
[[test]]
name = "concurrent_append"
path = "tests/concurrent_append.rs"
[[test]]
name = "crash"
path = "tests/crash.rs"
[[test]]
name = "dispatch_parallel"
path = "tests/dispatch_parallel.rs"
[[test]]
name = "doctor_advisory"
path = "tests/doctor_advisory.rs"
[[test]]
name = "drift_norec"
path = "tests/drift_norec.rs"
[[test]]
name = "event_log_migration"
path = "tests/event_log_migration.rs"
[[test]]
name = "events_schema_v2"
path = "tests/events_schema_v2.rs"
[[test]]
name = "executor_fs"
path = "tests/executor_fs.rs"
[[test]]
name = "executor_plan"
path = "tests/executor_plan.rs"
[[test]]
name = "git_backend"
path = "tests/git_backend.rs"
[[test]]
name = "lockfile_branch_carry"
path = "tests/lockfile_branch_carry.rs"
[[test]]
name = "lockfile_migrator_isolation"
path = "tests/lockfile_migrator_isolation.rs"
[[test]]
name = "lockfile_roundtrip"
path = "tests/lockfile_roundtrip.rs"
[[test]]
name = "manifest_roundtrip"
path = "tests/manifest_roundtrip.rs"
[[test]]
name = "manifest_torn_line"
path = "tests/manifest_torn_line.rs"
[[test]]
name = "manifest_torn_line_earlier"
path = "tests/manifest_torn_line_earlier.rs"
[[test]]
name = "meta_recursion"
path = "tests/meta_recursion.rs"
[[test]]
name = "pack"
path = "tests/pack.rs"
[[test]]
name = "pack_lock_gitignore"
path = "tests/pack_lock_gitignore.rs"
[[test]]
name = "pack_lock_stress"
path = "tests/pack_lock_stress.rs"
[[test]]
name = "pack_type_dispatch"
path = "tests/pack_type_dispatch.rs"
[[test]]
name = "pack_validate"
path = "tests/pack_validate.rs"
[[test]]
name = "property"
path = "tests/property.rs"
[[test]]
name = "quarantine"
path = "tests/quarantine.rs"
[[test]]
name = "scheduler"
path = "tests/scheduler.rs"
[[test]]
name = "semantic_warnings"
path = "tests/semantic_warnings.rs"
[[test]]
name = "sync_concurrent_append"
path = "tests/sync_concurrent_append.rs"
[[test]]
name = "sync_recovery"
path = "tests/sync_recovery.rs"
[[test]]
name = "sync_retention"
path = "tests/sync_retention.rs"
[[test]]
name = "teardown_e2e"
path = "tests/teardown_e2e.rs"
[[test]]
name = "tree_walk"
path = "tests/tree_walk.rs"
[[test]]
name = "walker_dry_run"
path = "tests/walker_dry_run.rs"
[[test]]
name = "walker_parallel_stress"
path = "tests/walker_parallel_stress.rs"
[dependencies.anyhow]
version = "1"
[dependencies.async-trait]
version = "0.1"
[dependencies.cap-std]
version = "3"
[dependencies.chrono]
version = "0.4"
features = ["serde"]
[dependencies.fd-lock]
version = "4"
[dependencies.gix]
version = "0.70"
features = [
"blocking-network-client",
"worktree-mutation",
"revision",
"status",
]
default-features = false
[dependencies.gix-worktree-state]
version = "0.17"
default-features = false
[dependencies.globset]
version = "0.4"
[dependencies.inventory]
version = "0.3"
optional = true
[dependencies.num_cpus]
version = "1.16"
[dependencies.rayon]
version = "1.10"
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.serde_yaml]
version = "0.9"
[dependencies.sha2]
version = "0.10"
[dependencies.thiserror]
version = "2"
[dependencies.tokio]
version = "1"
features = ["full"]
[dependencies.tokio-util]
version = "0.7"
features = ["rt"]
[dependencies.tracing]
version = "0.1"
[dependencies.unicode-normalization]
version = "0.1.25"
[dev-dependencies.proptest]
version = "1"
[dev-dependencies.tempfile]
version = "3"
[dev-dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]
[target."cfg(windows)".dependencies.winreg]
version = "0.56"
default-features = false
[lints.clippy]
cognitive_complexity = "deny"
too_many_lines = "deny"