aboutsummaryrefslogtreecommitdiff
path: root/version_info.h
diff options
context:
space:
mode:
authorSamuel Huang <huangs@chromium.org>2021-11-17 16:20:51 +0000
committerCopybara-Service <copybara-worker@google.com>2021-11-17 08:30:34 -0800
commit9a6bb5673d3441e0aee2c3e79e6dec027840d7e1 (patch)
tree9632b83864a5bfed66ed8d8254b906e4afea707d /version_info.h
parent261f4df0801de80106dd28a47914131c9b897058 (diff)
downloadzucchini-9a6bb5673d3441e0aee2c3e79e6dec027840d7e1.tar.gz
[Zucchini] Move version info to a separate file.
This CL moves zucchini::{kMajorVersion, kMinorVersion, kInvalidVersion} to a standalone file version_info.h. The location should remain stable. Stability is important so that: * External tools can determine Zucchini versoin from source, i.e., the file serves as an implicit API. * Running 'git log' on version_info.h will point to CLs that implement or enable patch break changes. Bug: 1231882 Change-Id: I13243a5627870a31d8789d3579f1a50cc0e52bd5 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3287124 Commit-Queue: Samuel Huang <huangs@chromium.org> Reviewed-by: Calder Kitagawa <ckitagawa@chromium.org> Reviewed-by: Etienne Pierre-Doray <etiennep@chromium.org> Cr-Commit-Position: refs/heads/main@{#942645} NOKEYCHECK=True GitOrigin-RevId: 0b4473c4e1683729ac9f81257ba48e1d3e34418f
Diffstat (limited to 'version_info.h')
-rw-r--r--version_info.h30
1 files changed, 30 insertions, 0 deletions
diff --git a/version_info.h b/version_info.h
new file mode 100644
index 0000000..c6d2fac
--- /dev/null
+++ b/version_info.h
@@ -0,0 +1,30 @@
+// Copyright 2021 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef COMPONENTS_ZUCCHINI_VERSION_INFO_H_
+#define COMPONENTS_ZUCCHINI_VERSION_INFO_H_
+
+// This file serves as a stable location for main Zucchini version constants,
+// whose names and types should also be stable. These allow external tools to
+// determine Zucchini version at compile time by inclusion or parsing.
+
+namespace zucchini {
+
+// A change in major version indicates breaking changes such that a patch
+// definitely cannot be applied by a zucchini binary whose major version doesn't
+// match.
+enum : uint16_t { kMajorVersion = 1 };
+
+// A change in minor version indicates possibly breaking changes at the element
+// level, such that it may not be possible to apply a patch whose minor version
+// doesn't match this version. To determine if a given patch may be applied with
+// this version, VerifyPatch() should be called.
+enum : uint16_t { kMinorVersion = 0 };
+
+// A empty or error value for major or minor version numbers.
+enum : uint16_t { kInvalidVersion = 0xffff };
+
+} // namespace zucchini
+
+#endif // COMPONENTS_ZUCCHINI_VERSION_INFO_H_