mirror of
https://github.com/aphrody-labs/cef-rs.git
synced 2026-10-13 21:06:46 +00:00
feat: add --mirror-url cli args
This commit is contained in:
6 files changed
+107
-24
No files matched your search
@@ -4,7 +4,7 @@
|
||||
extern crate thiserror;
|
||||
|
||||
use clap::Parser;
|
||||
use download_cef::{DEFAULT_CDN_URL, DEFAULT_TARGET};
|
||||
use download_cef::DEFAULT_TARGET;
|
||||
use std::{fs, io::Read, path::Path, sync::OnceLock};
|
||||
|
||||
#[derive(Debug, Error)]
|
||||
@@ -38,6 +38,13 @@ fn default_version() -> &'static str {
|
||||
.as_str()
|
||||
}
|
||||
|
||||
fn default_download_url() -> &'static str {
|
||||
static DEFAULT_DOWNLOAD_URL: OnceLock<String> = OnceLock::new();
|
||||
DEFAULT_DOWNLOAD_URL
|
||||
.get_or_init(|| download_cef::default_download_url())
|
||||
.as_str()
|
||||
}
|
||||
|
||||
#[derive(Parser, Debug)]
|
||||
#[command(about, long_about = None)]
|
||||
struct Args {
|
||||
@@ -49,16 +56,17 @@ struct Args {
|
||||
target: String,
|
||||
#[arg(short, long, default_value = default_version())]
|
||||
version: String,
|
||||
#[arg(short, long, default_value = default_download_url())]
|
||||
mirror_url: String,
|
||||
}
|
||||
|
||||
fn main() -> Result<()> {
|
||||
let args = Args::parse();
|
||||
let target = args.target.as_str();
|
||||
let url = std::env::var("CEF_DOWNLOAD_URL").unwrap_or(DEFAULT_CDN_URL.into());
|
||||
|
||||
if args.bindgen {
|
||||
if args.download {
|
||||
let _ = upgrade::download(url.as_str(), target, args.version.as_str());
|
||||
let _ = upgrade::download(args.mirror_url.as_str(), target, args.version.as_str());
|
||||
}
|
||||
|
||||
upgrade::sys_bindgen(target)?;
|
||||
|
||||
@@ -22,7 +22,7 @@ pub fn download(url: &str, target: &str, version: &str) -> PathBuf {
|
||||
assert!(TARGETS.contains(&target), "unsupported target {target}");
|
||||
|
||||
let archive =
|
||||
download_cef::download_target_archive(url, target, version, dirs::get_out_dir(), true)
|
||||
download_cef::download_target_archive_from(url, target, version, dirs::get_out_dir(), true)
|
||||
.expect("download failed");
|
||||
|
||||
download_cef::extract_target_archive(target, &archive, dirs::get_out_dir(), true)
|
||||
|
||||
Reference in new issue
Block a user