From e8d57cd3feb169c6a8e9cb11d96c0f2d0b7d50f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bartek=20Iwa=C5=84czuk?= Date: Thu, 15 Aug 2024 20:59:16 +0100 Subject: refactor: remove version::is_canary(), use ReleaseChannel instead (#25053) In preparation for https://github.com/denoland/deno/pull/25014, this commit removes public `is_canary()` method and instead uses an enum `ReleaseChannel` to be able to designate more "kinds" of builds. --- cli/version.rs | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) (limited to 'cli/version.rs') diff --git a/cli/version.rs b/cli/version.rs index aa3e5168e..e4801e108 100644 --- a/cli/version.rs +++ b/cli/version.rs @@ -1,10 +1,19 @@ // Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +use crate::shared::ReleaseChannel; + pub const GIT_COMMIT_HASH: &str = env!("GIT_COMMIT_HASH"); pub const TYPESCRIPT: &str = env!("TS_VERSION"); +// TODO(bartlomieju): ideally we could remove this const. +const IS_CANARY: bool = option_env!("DENO_CANARY").is_some(); +pub const RELEASE_CHANNEL: ReleaseChannel = if IS_CANARY { + ReleaseChannel::Canary +} else { + ReleaseChannel::Stable +}; pub fn deno() -> &'static str { - if is_canary() { + if IS_CANARY { concat!( env!("CARGO_PKG_VERSION"), "+", @@ -17,7 +26,7 @@ pub fn deno() -> &'static str { // Keep this in sync with `deno()` above pub fn get_user_agent() -> &'static str { - if is_canary() { + if IS_CANARY { concat!( "Deno/", env!("CARGO_PKG_VERSION"), @@ -29,12 +38,8 @@ pub fn get_user_agent() -> &'static str { } } -pub fn is_canary() -> bool { - option_env!("DENO_CANARY").is_some() -} - pub fn release_version_or_canary_commit_hash() -> &'static str { - if is_canary() { + if IS_CANARY { GIT_COMMIT_HASH } else { env!("CARGO_PKG_VERSION") -- cgit v1.2.3