2 个不稳定版本
使用旧的Rust 2015
0.3.0 | 2018年12月17日 |
---|---|
0.2.1 | 2018年12月17日 |
#26 in #updater
23KB
348 代码行
updater-lp
一个使用GitHub基础的简单更新器!轻松为您的命令行应用程序创建自动更新!
工作原理?
在Github上托管您的代码!使用版本发布标记您的代码,然后将构建附加到这些发布上。
updater-lp 然后会在您的仓库中查找发布,然后会将这些发布与您声明的当前应用程序版本进行匹配。如果找到较新版本,则可以使用它通过用来自Github的新二进制文件替换您的当前二进制文件来更新您的应用程序。
如何使用它。
首先,源代码库中有一个 测试应用程序,它展示了如何使用它,以及如何用于测试库的功能。
包含库
将 updater-lp 添加到您的 cargo.toml
。
[dependencies]
updater-lp = "0.2"
使用库
然后您需要设置您的上游地址。 updater-lp 是无结构体(或更好称为静态)的,因此建议您有一个 &'STATIC str
与您的仓库地址。
static REPO_PATH : &str = "https://github.com/snsvrno/lpsettings-rs";
然后在合适的地方,您应该检查最新版本。我建议添加一些防止每次程序运行时进行检查的内容(这样您就不会执行过多的不必要的GitHub API调用),而是每天检查一次更新。
let this_version = updater_lp::create_version(&[01,2,3,4]);
match updater_lp::get_latest_version(REPO_PATH) {
Err(error) => {
// can't check the version for some reason, `error` should state why.
},
Ok(latest) => {
if latest > this_version {
updater_lp::update_with_version(REPO_PATH,&latest);
}
}
}
我不建议在 ?
上使用 get_latest_version
,因为您可能不希望您的程序错误/失败,如果无法连接到仓库。
关于版本的一些说明
updater-lp 使用 version-lp 进行所有版本。这意味着版本很容易比较。版本在本软件包中公开,以便于使用,而无需要求您在 cargo.toml
中添加额外的依赖项。
依赖关系
~25–38MB
~674K SLoC