0
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2025-03-03 09:31:22 -05:00

refactor: auto detect target triples for upgrade (#8286)

This commit is contained in:
crowlKats 2020-11-08 11:54:35 +01:00 committed by GitHub
parent ccc95bc9b9
commit 5995c58e63
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -29,13 +29,9 @@ use std::process::Stdio;
use std::string::String;
use tempfile::TempDir;
// TODO(ry) Auto detect target triples for the uploaded files.
#[cfg(windows)]
const ARCHIVE_NAME: &str = "deno-x86_64-pc-windows-msvc.zip";
#[cfg(target_os = "macos")]
const ARCHIVE_NAME: &str = "deno-x86_64-apple-darwin.zip";
#[cfg(target_os = "linux")]
const ARCHIVE_NAME: &str = "deno-x86_64-unknown-linux-gnu.zip";
lazy_static! {
static ref ARCHIVE_NAME: String = format!("deno-{}.zip", env!("TARGET"));
}
async fn get_latest_version(client: &Client) -> Result<Version, AnyError> {
println!("Checking for latest version");
@ -165,7 +161,7 @@ fn download_package(
fn compose_url_to_exec(version: &Version) -> Result<Url, AnyError> {
let s = format!(
"https://github.com/denoland/deno/releases/download/v{}/{}",
version, ARCHIVE_NAME
version, *ARCHIVE_NAME
);
Url::parse(&s).map_err(AnyError::from)
}
@ -188,7 +184,7 @@ fn unpack(archive_data: Vec<u8>) -> Result<PathBuf, std::io::Error> {
let exe_path = temp_dir.join("deno").with_extension(exe_ext);
assert!(!exe_path.exists());
let archive_ext = Path::new(ARCHIVE_NAME)
let archive_ext = Path::new(&*ARCHIVE_NAME)
.extension()
.and_then(|ext| ext.to_str())
.unwrap();