pub(crate) struct Workspace {
root: RepositoryRoot,
packages: Vec<Package>,
version_groups: VersionGroups,
snapshots: BTreeMap<PathBuf, String>,
}Fields§
§root: RepositoryRoot§packages: Vec<Package>§version_groups: VersionGroups§snapshots: BTreeMap<PathBuf, String>Implementations§
Source§impl Workspace
impl Workspace
Sourcepub(crate) fn plan(
&self,
completed_proposals: &BTreeMap<String, Version>,
changelogs: &BTreeMap<String, Option<RepositoryPath>>,
) -> Result<Plan, CargoError>
pub(crate) fn plan( &self, completed_proposals: &BTreeMap<String, Version>, changelogs: &BTreeMap<String, Option<RepositoryPath>>, ) -> Result<Plan, CargoError>
Plan the release of already completed proposals. Units without an
entry in changelogs use CHANGELOG.md in their directory. A None
entry keeps no changelog.
§Errors
Returns an error for unknown units, incompatible dependency requirements, or unsafe manifest and changelog files.
Sourcepub(crate) fn plan_unchecked(
&self,
completed_proposals: &BTreeMap<String, Version>,
changelogs: &BTreeMap<String, Option<RepositoryPath>>,
) -> Result<Plan, CargoError>
pub(crate) fn plan_unchecked( &self, completed_proposals: &BTreeMap<String, Version>, changelogs: &BTreeMap<String, Option<RepositoryPath>>, ) -> Result<Plan, CargoError>
Like Workspace::plan, without the check that every consumer of a
changed dependency entry has a proposal.
Source§impl Workspace
impl Workspace
Sourcepub(crate) fn render_updates(
&self,
proposals: &BTreeMap<String, Version>,
) -> Result<BTreeMap<PathBuf, String>, WorkspaceError>
pub(crate) fn render_updates( &self, proposals: &BTreeMap<String, Version>, ) -> Result<BTreeMap<PathBuf, String>, WorkspaceError>
Manifest contents after setting every proposed version, keyed by the manifests that change.
fn update_group_versions( &self, documents: &mut Documents<'_>, proposals: &BTreeMap<String, Version>, ) -> Result<(), WorkspaceError>
fn update_requirements( &self, documents: &mut Documents<'_>, proposals: &BTreeMap<String, Version>, ) -> Result<(), WorkspaceError>
Sourcepub(crate) fn check_consumers(
&self,
proposals: &BTreeMap<String, Version>,
) -> Result<(), WorkspaceError>
pub(crate) fn check_consumers( &self, proposals: &BTreeMap<String, Version>, ) -> Result<(), WorkspaceError>
Reject a requirement change that reaches a consumer without a proposal, as when several packages share one dependency entry.
Sourcefn requirement_updates(
&self,
proposals: &BTreeMap<String, Version>,
) -> Result<Vec<RequirementUpdate<'_>>, WorkspaceError>
fn requirement_updates( &self, proposals: &BTreeMap<String, Version>, ) -> Result<Vec<RequirementUpdate<'_>>, WorkspaceError>
The dependency entries whose requirement must change for proposals.
Source§impl Workspace
impl Workspace
pub(crate) fn load(root: &RepositoryRoot) -> Result<Self, WorkspaceError>
pub(crate) fn units(&self) -> Vec<Member>
Sourcepub(crate) fn renamed(&self, names: &BTreeMap<String, String>) -> Self
pub(crate) fn renamed(&self, names: &BTreeMap<String, String>) -> Self
This workspace with the packages names maps renamed to the release
unit IDs they map to, so that every query uses unit IDs.