Index: build/util/version.gni |
diff --git a/build/util/version.gni b/build/util/version.gni |
new file mode 100644 |
index 0000000000000000000000000000000000000000..5cc522a4b59bde0f472314cfdfc6f135dc3f75f1 |
--- /dev/null |
+++ b/build/util/version.gni |
@@ -0,0 +1,42 @@ |
+# Copyright 2015 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. |
+ |
+# This exposes the Chrome version as GN variables for use in build files. |
+# |
+# PREFER NOT TO USE THESE. The GYP build uses this kind of thing extensively. |
+# However, it is far better to write an action (or use the process_version |
+# wrapper in chrome/version.gni) to generate a file at build-time with the |
+# information you need. This allows better dependency checking and GN will |
+# run faster. |
+# |
+# These values should only be used if you REALLY need to depend on them at |
+# build-time, for example, in the computation of output file names. |
+ |
+# Give version.py a pattern that will expand to a GN scope consisting of |
+# all values we need at once. |
+_version_dictionary_template = "full = \"@MAJOR@.@MINOR@.@BUILD@.@PATCH@\" " + |
+ "major = \"@MAJOR@\" minor = \"@MINOR@\" " + |
+ "build = \"@BUILD@\" patch = \"@PATCH@\"" |
+ |
+# The file containing the Chrome version number. |
+chrome_version_file = "//chrome/VERSION" |
+ |
+_result = exec_script("version.py", |
+ [ |
+ "-f", |
+ rebase_path(chrome_version_file, root_build_dir), |
+ "-t", |
+ _version_dictionary_template, |
+ ], |
+ "scope", |
+ [ chrome_version_file ]) |
+ |
+# Full version. For example "45.0.12321.0" |
+chrome_version_full = _result.full |
+ |
+# The consituent parts of the full version. |
+chrome_version_major = _result.major |
+chrome_version_minor = _result.minor |
+chrome_version_build = _result.build |
+chrome_version_patch = _result.patch |