1 # Copyright 2015 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
5 # This exposes the Chrome version as GN variables for use in build files.
7 # PREFER NOT TO USE THESE. The GYP build uses this kind of thing extensively.
8 # However, it is far better to write an action (or use the process_version
9 # wrapper in chrome/version.gni) to generate a file at build-time with the
10 # information you need. This allows better dependency checking and GN will
13 # These values should only be used if you REALLY need to depend on them at
14 # build-time, for example, in the computation of output file names.
16 # Give version.py a pattern that will expand to a GN scope consisting of
17 # all values we need at once.
18 _version_dictionary_template = "full = \"@MAJOR@.@MINOR@.@BUILD@.@PATCH@\" " +
19 "major = \"@MAJOR@\" minor = \"@MINOR@\" " +
20 "build = \"@BUILD@\" patch = \"@PATCH@\""
22 # The file containing the Chrome version number.
23 chrome_version_file = "//chrome/VERSION"
25 _result = exec_script("version.py",
28 rebase_path(chrome_version_file, root_build_dir),
30 _version_dictionary_template,
33 [ chrome_version_file ])
35 # Full version. For example "45.0.12321.0"
36 chrome_version_full = _result.full
38 # The consituent parts of the full version.
39 chrome_version_major = _result.major
40 chrome_version_minor = _result.minor
41 chrome_version_build = _result.build
42 chrome_version_patch = _result.patch