Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1753)

Unified Diff: build/generate_version.py

Issue 866263005: Remove version generation approach. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Makefile ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: build/generate_version.py
diff --git a/build/generate_version.py b/build/generate_version.py
deleted file mode 100755
index 930e4857fb7defa4739450353e7049c2f9879845..0000000000000000000000000000000000000000
--- a/build/generate_version.py
+++ /dev/null
@@ -1,149 +0,0 @@
-#!/usr/bin/env python
-# Copyright 2014 the V8 project authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Script to set v8's version file to the version given by the latest tag.
-
-The script is intended to be run as a gclient hook. The script will write a
-generated version file into the checkout.
-
-On build systems where no git is available and where the version information
-is not necessary, the version generation can be bypassed with the option
---skip.
-"""
-
-
-import optparse
-import os
-import re
-import subprocess
-import sys
-
-
-CWD = os.path.abspath(os.path.dirname(os.path.dirname(__file__)))
-VERSION_CC = os.path.join(CWD, "src", "version.cc")
-VERSION_GEN_CC = os.path.join(CWD, "src", "version_gen.cc")
-
-VERSION_RE_RAW = r"^(?P<major>\d+)\.(?P<minor>\d+)\.(?P<build>\d+)"
-VERSION_RE = re.compile(VERSION_RE_RAW + r"$")
-VERSION_WITH_PATCH_RE = re.compile(VERSION_RE_RAW + r"\.(?P<patch>\d+)$")
-
-def generate_version_file():
- # Make sure the tags are fetched from cached git repos.
- url = subprocess.check_output(
- "git config --get remote.origin.url",
- shell=True,
- cwd=CWD).strip()
- if not url.startswith("http"):
- subprocess.check_output(
- "git fetch origin +refs/tags/*:refs/tags/*",
- shell=True,
- cwd=CWD)
- tag = subprocess.check_output(
- "git describe --tags",
- shell=True,
- cwd=CWD,
- ).strip()
- assert tag
-
- # Check for commits not exactly matching a tag. Those are candidate builds
- # for the next version. The output has the form
- # <tag name>-<n commits>-<hash>.
- if "-" in tag:
- version = tag.split("-")[0]
- candidate = "1"
- else:
- version = tag
- candidate = "0"
-
- match = VERSION_RE.match(version)
- match_patch = VERSION_WITH_PATCH_RE.match(version)
- if match:
- # Simple version e.g. "3.30.5".
- major = match.group("major")
- minor = match.group("minor")
- build = match.group("build")
- patch = "0"
- invalid = "0"
- elif match_patch:
- # Version with patch level e.g. "3.30.5.2".
- major = match.group("major")
- minor = match.group("minor")
- build = match.group("build")
- patch = match.group("patch")
- invalid = "0"
- else:
- # A tag was found that's not a version string.
- major = "0"
- minor = "0"
- build = "0"
- patch = "0"
- invalid = "1"
-
- # Increment build level for candidate builds.
- if candidate == "1" and invalid != "1":
- build = str(int(build) + 1)
- patch = "0"
-
- # Modify version_gen.cc with the new values.
- output = []
- with open(VERSION_CC, "r") as f:
- for line in f:
- for definition, substitute in (
- ("MAJOR_VERSION", major),
- ("MINOR_VERSION", minor),
- ("BUILD_NUMBER", build),
- ("PATCH_LEVEL", patch),
- ("IS_CANDIDATE_VERSION", candidate),
- ("IS_INVALID_VERSION", invalid)):
- if line.startswith("#define %s" % definition):
- line = re.sub("\d+$", substitute, line)
- output.append(line)
-
- # Prepare log message.
- suffix_txt = " (candidate)" if candidate == "1" else ""
- suffix_txt = " (invalid)" if invalid == "1" else suffix_txt
- patch_txt = ".%s" % patch if patch != "0" else ""
- version_txt = ("%s.%s.%s%s%s" %
- (major, minor, build, patch_txt, suffix_txt))
- log_message = "Modifying version_gen.cc. Set V8 version to %s" % version_txt
- return "".join(output), log_message
-
-
-def bypass_version_file():
- with open(VERSION_CC, "r") as f:
- return f.read(), "Bypassing V8 version creation."
-
-
-def main():
- parser = optparse.OptionParser()
- parser.add_option("--skip",
- help="Use raw version.cc file (disables version "
- "generation and uses a dummy version).",
- default=False, action="store_true")
- (options, args) = parser.parse_args()
-
- if options.skip:
- version_file_content, log_message = bypass_version_file()
- else:
- version_file_content, log_message = generate_version_file()
-
- old_content = ""
- if os.path.exists(VERSION_GEN_CC):
- with open(VERSION_GEN_CC, "r") as f:
- old_content = f.read()
-
- # Only generate version file if content has changed.
- if old_content != version_file_content:
- with open(VERSION_GEN_CC, "w") as f:
- f.write(version_file_content)
- # Log what was calculated.
- print log_message
-
- return 0
-
-
-if __name__ == "__main__":
- sys.exit(main())
« no previous file with comments | « Makefile ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698