Struct self_update::backends::gitlab::Update
source · pub struct Update { /* private fields */ }
Expand description
Updates to a specified or latest release distributed via Gitlab
Implementations§
source§impl Update
impl Update
sourcepub fn configure() -> UpdateBuilder
pub fn configure() -> UpdateBuilder
Initialize a new Update
builder
Examples found in repository?
examples/gitlab.rs (line 18)
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
fn run() -> Result<(), Box<dyn ::std::error::Error>> {
let releases = self_update::backends::gitlab::ReleaseList::configure()
.repo_owner("jaemk")
.repo_name("self_update")
.build()?
.fetch()?;
println!("found releases:");
println!("{:#?}\n", releases);
let status = self_update::backends::gitlab::Update::configure()
.repo_owner("jaemk")
.repo_name("self_update")
.bin_name("github")
.show_download_progress(true)
//.target_version_tag("v9.9.10")
//.show_output(false)
//.no_confirm(true)
//
// For private repos, you will need to provide an auth token
// **Make sure not to bake the token into your app**; it is recommended
// you obtain it via another mechanism, such as environment variables
// or prompting the user for input
//.auth_token(env!("DOWNLOAD_AUTH_TOKEN"))
.current_version(cargo_crate_version!())
.build()?
.update()?;
println!("Update status: `{}`!", status.version());
Ok(())
}
Trait Implementations§
source§impl ReleaseUpdate for Update
impl ReleaseUpdate for Update
source§fn get_latest_release(&self) -> Result<Release>
fn get_latest_release(&self) -> Result<Release>
Fetch details of the latest release from the backend
source§fn get_release_version(&self, ver: &str) -> Result<Release>
fn get_release_version(&self, ver: &str) -> Result<Release>
Fetch details of the release matching the specified version
source§fn current_version(&self) -> String
fn current_version(&self) -> String
Current version of binary being updated
source§fn target_version(&self) -> Option<String>
fn target_version(&self) -> Option<String>
Target version optionally specified for the update
source§fn bin_install_path(&self) -> PathBuf
fn bin_install_path(&self) -> PathBuf
Installation path for the binary being updated
source§fn bin_path_in_archive(&self) -> String
fn bin_path_in_archive(&self) -> String
Path of the binary to be extracted from release package
source§fn show_download_progress(&self) -> bool
fn show_download_progress(&self) -> bool
Flag indicating if progress information shall be output when downloading a release
source§fn show_output(&self) -> bool
fn show_output(&self) -> bool
Flag indicating if process informative messages shall be output
source§fn no_confirm(&self) -> bool
fn no_confirm(&self) -> bool
Flag indicating if the user shouldn’t be prompted to confirm an update
fn progress_template(&self) -> String
fn progress_chars(&self) -> String
source§fn auth_token(&self) -> Option<String>
fn auth_token(&self) -> Option<String>
Authorisation token for communicating with backend
source§fn api_headers(&self, auth_token: &Option<String>) -> Result<HeaderMap>
fn api_headers(&self, auth_token: &Option<String>) -> Result<HeaderMap>
Construct a header with an authorisation entry if an auth token is provided
source§fn verifying_keys(&self) -> &[[u8; 32]]
fn verifying_keys(&self) -> &[[u8; 32]]
ed25519ph verifying keys to validate a download’s authenticy
source§fn identifier(&self) -> Option<String>
fn identifier(&self) -> Option<String>
Optional identifier of determining the asset among multiple matches
source§fn update(&self) -> Result<Status>
fn update(&self) -> Result<Status>
Display release information and update the current binary to the latest release, pending
confirmation from the user
source§fn update_extended(&self) -> Result<UpdateStatus>
fn update_extended(&self) -> Result<UpdateStatus>
Same as
update
, but returns UpdateStatus
.Auto Trait Implementations§
impl Freeze for Update
impl RefUnwindSafe for Update
impl Send for Update
impl Sync for Update
impl Unpin for Update
impl UnwindSafe for Update
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
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more