pub fn resolve(
git: &dyn GitRunner,
fetcher: &dyn Fetcher,
source: &PluginSource,
name: &str,
cache_root: &Path,
user_root: &Path,
policy: RefreshPolicy,
) -> Result<Resolved, String>Expand description
Resolve source for the plugin called name.
cache_root holds git checkouts (~/.config/lattice/cache/sources/);
user_root is the plugin cache (~/.config/lattice/plugins/) a
Prebuilt artifact lands in.
policy decides whether an already-cloned git source is advanced from the
network; it is meaningless for Local (the tree IS the source) and for
Prebuilt (which re-downloads whenever the artifact is missing).
Blocking (clone / fetch / download). Run on spawn_blocking.