pub(crate) struct Publisher<'a, G, P, F> {
git: &'a G,
packages: &'a P,
forge: &'a F,
author: Author<'a>,
}Expand description
Executes the publication contract of crate::publication in dependency
order.
Fields§
§git: &'a G§packages: &'a P§forge: &'a FImplementations§
Source§impl<'a, G, P, F> Publisher<'a, G, P, F>
impl<'a, G, P, F> Publisher<'a, G, P, F>
Sourcepub(crate) const fn new(
git: &'a G,
packages: &'a P,
forge: &'a F,
author: Author<'a>,
) -> Self
pub(crate) const fn new( git: &'a G, packages: &'a P, forge: &'a F, author: Author<'a>, ) -> Self
Bind the adapters a publication run uses.
Sourcepub(crate) async fn publish(
&self,
repository: &Path,
authority: &Authority,
releases: &[UnitRelease<'_>],
) -> Result<Vec<Outcome>, PublishError>
pub(crate) async fn publish( &self, repository: &Path, authority: &Authority, releases: &[UnitRelease<'_>], ) -> Result<Vec<Outcome>, PublishError>
Publish from an exact merged commit. Each unit gets its package, then its release artifacts, then its tag, then its published release. Every step reads the remote first, so rerunning after a partial failure finishes the job.
§Errors
Returns a graph, authority, command, or remote error at the first incomplete step.
Trait Implementations§
Auto Trait Implementations§
impl<'a, G, P, F> Freeze for Publisher<'a, G, P, F>
impl<'a, G, P, F> RefUnwindSafe for Publisher<'a, G, P, F>
impl<'a, G, P, F> Send for Publisher<'a, G, P, F>
impl<'a, G, P, F> Sync for Publisher<'a, G, P, F>
impl<'a, G, P, F> Unpin for Publisher<'a, G, P, F>
impl<'a, G, P, F> UnsafeUnpin for Publisher<'a, G, P, F>
impl<'a, G, P, F> UnwindSafe for Publisher<'a, G, P, F>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more