Files
shaka-packager/packager/version/version.cc
Niklas Korz 27a1d71e3d
Some checks failed
Update Issues / update-issues (push) Has been cancelled
Release / Settings (push) Has been cancelled
Release / release (push) Has been cancelled
Release / Compute latest release flag (push) Has been cancelled
Release / Update docs (push) Has been cancelled
Release / Build (push) Has been cancelled
Release / Update docker image (push) Has been cancelled
Release / Artifacts (push) Has been cancelled
Release / Update NPM (push) Has been cancelled
fix(deps): update abseil-cpp to 20260107.1, protobuf to 33.5 (#1553)
All deprecations have been addressed in this PR and Protobuf has been
updated to 33.5 as older versions lead to build failures on Linux with
this abseil-cpp version.
2026-03-17 20:48:13 -07:00

68 lines
1.6 KiB
C++

// Copyright 2015 Google LLC. All rights reserved.
//
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file or at
// https://developers.google.com/open-source/licenses/bsd
#include <packager/version/version.h>
#include <absl/synchronization/mutex.h>
namespace shaka {
namespace {
#if defined(PACKAGER_VERSION)
// PACKAGER_VERSION is generated by CMake using script
// generate_version_string.py.
#if defined(NDEBUG)
const char kPackagerVersion[] = PACKAGER_VERSION "-release";
#else
const char kPackagerVersion[] = PACKAGER_VERSION "-debug";
#endif // #if defined(NDEBUG)
#else
const char kPackagerVersion[] = "";
#endif // #if defined(PACKAGER_VERSION)
const char kPackagerGithubUrl[] =
"https://github.com/shaka-project/shaka-packager";
class Version {
public:
Version() : version_(kPackagerVersion) {}
~Version() {}
const std::string& GetVersion() {
absl::ReaderMutexLock lock(mutex_);
return version_;
}
void SetVersion(const std::string& version) {
absl::MutexLock lock(mutex_);
version_ = version;
}
private:
Version(const Version&) = delete;
Version& operator=(const Version&) = delete;
absl::Mutex mutex_;
std::string version_ ABSL_GUARDED_BY(mutex_);
};
} // namespace
static Version g_packager_version;
std::string GetPackagerProjectUrl() {
return kPackagerGithubUrl;
}
std::string GetPackagerVersion() {
return g_packager_version.GetVersion();
}
void SetPackagerVersionForTesting(const std::string& version) {
g_packager_version.SetVersion(version);
}
} // namespace shaka