5435d44756
This is mostly a mechanical refactor that moves 80% of our code to the same cache abstraction. It introduces cache `Cache`, which abstracts away the path of the cache and the temp dir drop and is passed throughout the codebase. To get a specific cache bucket, you need to requests your `CacheBucket` from `Cache`. `CacheBucket` is the centralizes the names of all cache buckets, moving them away from the string constants spread throughout the crates. Specifically for working with the `CachedClient`, there is a `CacheEntry`. I'm not sure yet if that is a strict improvement over `cache_dir: PathBuf, cache_file: String`, i may have to rotate that later. The interpreter cache moved into `interpreter-v0`. We can use the `CacheBucket` page to document the cache structure in each bucket: 
38 lines
1.2 KiB
TOML
38 lines
1.2 KiB
TOML
[package]
|
|
name = "puffin-dispatch"
|
|
version = "0.0.1"
|
|
description = "Avoid cyclic crate dependencies between resolver, installer and builder"
|
|
edition = { workspace = true }
|
|
rust-version = { workspace = true }
|
|
homepage = { workspace = true }
|
|
documentation = { workspace = true }
|
|
repository = { workspace = true }
|
|
authors = { workspace = true }
|
|
license = { workspace = true }
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[dependencies]
|
|
distribution-types = { path = "../distribution-types" }
|
|
gourgeist = { path = "../gourgeist" }
|
|
pep508_rs = { path = "../pep508-rs" }
|
|
platform-host = { path = "../platform-host" }
|
|
platform-tags = { path = "../platform-tags" }
|
|
puffin-build = { path = "../puffin-build" }
|
|
puffin-cache = { path = "../puffin-cache" }
|
|
puffin-client = { path = "../puffin-client" }
|
|
puffin-distribution = { path = "../puffin-distribution" }
|
|
puffin-installer = { path = "../puffin-installer" }
|
|
puffin-interpreter = { path = "../puffin-interpreter" }
|
|
puffin-resolver = { path = "../puffin-resolver" }
|
|
puffin-traits = { path = "../puffin-traits" }
|
|
pypi-types = { path = "../pypi-types" }
|
|
|
|
anyhow = { workspace = true }
|
|
fs-err = { workspace = true }
|
|
itertools = { workspace = true }
|
|
tempfile = { workspace = true }
|
|
tokio = { workspace = true }
|
|
tracing = { workspace = true }
|