build: split gix/registry-file features, drop gix facade dependency
Per ADR-012 §4: the gix feature now gates only the engine component crates (odb/pack/ref/object/fsck); the gix facade crate (client entry point) is removed — the impls drive components directly (POC-2's shape). registry-file added as an independent default-on seam (file-backed registry + record ops, no gitoxide). Both default-on preserves the batteries-included story; --no-default- features remains the wire-only embed. Verification: cargo test (default + --no-default-features), clippy --all-targets -D warnings, fmt --check.
This commit is contained in:
1 parent
addc874667
commit
dbb056f451
1 file changed
+9
-5
+9
-5
@@ -14,17 +14,22 @@ name = "alkgit"
|
||||
path = "src/lib.rs"
|
||||
|
||||
[features]
|
||||
default = ["gix"]
|
||||
# gitoxide-backed backend implementations (registry, refs, pack gen/ingest).
|
||||
# Disable for a wire/protocol-only embed with your own backends.
|
||||
default = ["gix", "registry-file"]
|
||||
# gitoxide-backed engine implementations (refs, pack gen/ingest). The
|
||||
# `gix` facade crate is NOT a dependency (ADR-012 §4) — the impls drive
|
||||
# the component crates directly (POC-2's shape). Disable for a
|
||||
# wire/protocol-only embed or with your own object-storage backend.
|
||||
gix = [
|
||||
"dep:gix",
|
||||
"dep:gix-odb",
|
||||
"dep:gix-pack",
|
||||
"dep:gix-ref",
|
||||
"dep:gix-object",
|
||||
"dep:gix-fsck",
|
||||
]
|
||||
# File-backed GitRegistry/GitRegistryStore default (per-repo record
|
||||
# files + in-memory index) + the `git/repo/*` op set (ADR-012 §2–3).
|
||||
# No gitoxide. Disable to bring your own registry backend.
|
||||
registry-file = []
|
||||
# sha256 passthrough (untested end-to-end; sha1 is pinned by default — OQ-05).
|
||||
# gix-hash stays always-on with sha1: the wire layer needs it, and gix-hash
|
||||
# fails to compile with neither hash feature selected (compile-time-rejected
|
||||
@@ -33,7 +38,6 @@ sha256 = ["gix-hash/sha256"]
|
||||
|
||||
[dependencies]
|
||||
alkcall = "0.8"
|
||||
gix = { version = "0.87", optional = true, default-features = false, features = ["sha1"] }
|
||||
gix-odb = { version = "0.84", optional = true, default-features = false, features = ["sha1"] }
|
||||
gix-pack = { version = "0.74", optional = true, features = ["sha1"] }
|
||||
gix-ref = { version = "0.67", optional = true }
|
||||
|
||||
Reference in new issue
Block a user