self_update 0.2.5

Self updates for standalone executables

self_update

Build status Build Status crates.io:clin docs

self_update provides updaters for updating rust executables in-place from various release distribution backends.

Currently only GitHub releases are supported.

self_update = "0.2"

Usage

Update (replace) the current executable with the latest release downloaded from https://api.github.com/repos/jaemk/self_update/releases/latest

#[macro_use] extern crate self_update;

fn update() -> Result<(), Box<::std::error::Error>> {
    let target = self_update::get_target()?;
    let status = self_update::backends::github::Updater::configure()?
        .repo_owner("jaemk")
        .repo_name("self_update")
        .target(&target)
        .bin_name("self_update_example")
        .show_download_progress(true)
        .current_version(cargo_crate_version!())
        .build()?
        .update()?;
    println!("Update status: `v{}`!", status.version());
    Ok(())
}

Run the above example to see self_update in action: cargo run --example github

License: MIT