# Copyright 2014 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.

# TODO(brettw) Forking out to Python 4 times in serial just to get version
# numbers is highly undesirable. Instead, there should be a build step to
# generate an appropriate header so that the version can be generated at
# build-time, and not at GN-time.

# The |major|, |build| and |patch| versions are inherited from Chrome.
# Since Chrome's |minor| version is always '0', we replace it with a
# Chromoting-specific patch version.
# Note that we check both the |chrome_version_path| file and the
# |remoting_version_path| so that we can override the Chrome version
# numbers if needed.
_version_py_abspath = "//build/util/version.py"
_remoting_version_abspath = "//remoting/VERSION"
_chrome_version_abspath = "//chrome/VERSION"

# Set these files as being input dependencies to the scripts, so the build will
# be re-run if the files change.
_script_deps = [ _remoting_version_abspath, _chrome_version_abspath ]

_chrome_version_path = rebase_path(_chrome_version_abspath, root_build_dir)
_remoting_version_path = rebase_path(_remoting_version_abspath, root_build_dir)

version_major = exec_script(
    _version_py_abspath,
    [ "-f", _chrome_version_path,
      "-f", _remoting_version_path,
      "-t \"@MAJOR@\"" ],
    "value",
    _script_deps)

version_minor = exec_script(
    _version_py_abspath,
    [ "-f", _remoting_version_path,
      "-t \"@REMOTING_PATCH@\"" ],
    "value",
    _script_deps)

version_short = "${version_major}.${version_minor}." + exec_script(
    _version_py_abspath,
    [ "-f", _chrome_version_path,
      "-f", _remoting_version_path,
      "-t \"@BUILD@\"" ],
    "value",
    _script_deps)

version_full = "${version_short}." + exec_script(
    _version_py_abspath,
    [ "-f", _chrome_version_path,
      "-f", _remoting_version_path,
      "-t \"@PATCH@\"" ],
    "value",
    _script_deps)