8350f423ee
Dev and beta version strings will look very look very similar, so adding the channel name will make it easy for users to see if they are on be, dev, beta, or stable. This will change both the output of `dart --version` as well as the value of `Platform.version`. This also removes the Flutter stable release version hack. Fixes https://github.com/dart-lang/sdk/issues/40993 Change-Id: Iceb8e84a9cf4d0bfb7659669878e42d0a59febc4 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/140287 Reviewed-by: Siva Annamalai <asiva@google.com> Commit-Queue: Alexander Thomas <athom@google.com>
46 lines
1.1 KiB
C++
46 lines
1.1 KiB
C++
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
|
|
// for details. All rights reserved. Use of this source code is governed by a
|
|
// BSD-style license that can be found in the LICENSE file.
|
|
|
|
#include "vm/version.h"
|
|
|
|
#include "vm/cpu.h"
|
|
#include "vm/flags.h"
|
|
#include "vm/os.h"
|
|
|
|
namespace dart {
|
|
|
|
// TODO(iposva): Avoid racy initialization.
|
|
static const char* formatted_version = NULL;
|
|
|
|
const char* Version::String() {
|
|
if (formatted_version == NULL) {
|
|
const char* os = OS::Name();
|
|
const char* arch = CPU::Id();
|
|
formatted_version = OS::SCreate(NULL, "%s on \"%s_%s\"", str_, os, arch);
|
|
}
|
|
return formatted_version;
|
|
}
|
|
|
|
const char* Version::SnapshotString() {
|
|
return snapshot_hash_;
|
|
}
|
|
|
|
const char* Version::CommitString() {
|
|
return commit_;
|
|
}
|
|
|
|
int Version::CurrentAbiVersion() {
|
|
return {{ABI_VERSION}};
|
|
}
|
|
|
|
int Version::OldestSupportedAbiVersion() {
|
|
return {{OLDEST_SUPPORTED_ABI_VERSION}};
|
|
}
|
|
|
|
const char* Version::snapshot_hash_ = "{{SNAPSHOT_HASH}}";
|
|
const char* Version::str_ = "{{VERSION_STR}} ({{CHANNEL}}) ({{COMMIT_TIME}})";
|
|
const char* Version::commit_ = "{{VERSION_STR}}";
|
|
|
|
} // namespace dart
|