summaryrefslogtreecommitdiff
path: root/cli/version.rs
diff options
context:
space:
mode:
authorBartek IwaƄczuk <biwanczuk@gmail.com>2024-08-15 20:59:16 +0100
committerGitHub <noreply@github.com>2024-08-15 21:59:16 +0200
commite8d57cd3feb169c6a8e9cb11d96c0f2d0b7d50f8 (patch)
treeaaaa9aa09a41888d2b09167c30eda3e0b07d4036 /cli/version.rs
parent8749d651fb5e0964cdb8e62be7a59a603cbc3c7c (diff)
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.
Diffstat (limited to 'cli/version.rs')
-rw-r--r--cli/version.rs19
1 files changed, 12 insertions, 7 deletions
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")