Skip to main content

sage_package/
lib.rs

1//! Package manager for Sage.
2//!
3//! This crate handles:
4//! - Parsing `[dependencies]` from `grove.toml`
5//! - Managing `grove.lock` for reproducible builds
6//! - Package cache at `~/.grove/packages/<name>/<version>/`
7//! - Git-based dependency resolution
8
9#![forbid(unsafe_code)]
10
11mod cache;
12mod dependency;
13mod error;
14mod lock;
15mod resolver;
16
17pub use cache::PackageCache;
18pub use dependency::{
19    parse_dependencies, resolve_path, DependencySpec, GitDependency, PathDependency,
20};
21pub use error::PackageError;
22pub use lock::{LockFile, LockedPackage};
23pub use resolver::{
24    check_is_library, check_lock_freshness, install_from_lock, resolve_dependencies,
25    ResolvedPackages,
26};