pub struct Catalog { /* private fields */ }Expand description
Каталог разрешения компонентов для проекта.
Implementations§
Source§impl Catalog
impl Catalog
Sourcepub fn discover(project_root: &Path, offline: bool) -> Self
pub fn discover(project_root: &Path, offline: bool) -> Self
Создаёт каталог для проекта, автоматически находя workspace и vendor/.
Sourcepub fn with_remote(
project_root: &Path,
offline: bool,
remote: Box<dyn RemoteRegistry>,
) -> Self
pub fn with_remote( project_root: &Path, offline: bool, remote: Box<dyn RemoteRegistry>, ) -> Self
Создаёт каталог с подменяемым источником crates.io (для тестов и встраивания).
Sourcepub fn registry(&self) -> &ComponentRegistry
pub fn registry(&self) -> &ComponentRegistry
Встроенный реестр.
Sourcepub fn resolve(&self, name: &str) -> Result<ResolvedComponent>
pub fn resolve(&self, name: &str) -> Result<ResolvedComponent>
Разрешает компонент по имени.
Sourcepub fn resolve_local(&self, name: &str) -> Result<Option<ResolvedComponent>>
pub fn resolve_local(&self, name: &str) -> Result<Option<ResolvedComponent>>
Разрешает компонент только среди локальных (workspace/vendor), без сети.
Sourcepub fn resolve_remote_latest(
&self,
name: &str,
) -> Result<Option<ResolvedComponent>>
pub fn resolve_remote_latest( &self, name: &str, ) -> Result<Option<ResolvedComponent>>
Последняя версия компонента на crates.io (через remote), без учёта
локальных workspace/vendor. Используется при несовместимости реестра с
ядром проекта: берём свежую версию, которая может уже поддерживать это
ядро. Без фичи network возвращает None (сеть недоступна).
Sourcepub fn dependency_entry(
&self,
component: &ResolvedComponent,
) -> Result<DependencyEntry>
pub fn dependency_entry( &self, component: &ResolvedComponent, ) -> Result<DependencyEntry>
Описание зависимости, как её следует записать в Cargo.toml проекта.
Sourcepub fn workspace_detail(&self, name: &str) -> Result<Option<DepDetail>>
pub fn workspace_detail(&self, name: &str) -> Result<Option<DepDetail>>
Возвращает DepDetail-совместимое описание (для проверок), если задано в workspace.
Sourcepub fn project_root(&self) -> &Path
pub fn project_root(&self) -> &Path
Корень проекта.
Sourcepub fn workspace_root(&self) -> Option<&Path>
pub fn workspace_root(&self) -> Option<&Path>
Корень workspace (если найден).
Sourcepub fn is_offline(&self) -> bool
pub fn is_offline(&self) -> bool
Режим --offline.