mirror of
https://github.com/facebook/sapling.git
synced 2024-12-28 23:54:12 +03:00
generate __version__.py during the buck build
Summary: The chg code now always attempts to import __version__.py Previously this was not generated during buck-based builds. This updates the buck build to generate a __version__.py file now. Reviewed By: ryanmce Differential Revision: D8601650 fbshipit-source-id: 59bd0605394feeabcc41766a7e55cbdd253f07ad
This commit is contained in:
parent
fa3024b2ce
commit
71dc89f250
48
gen_version.py
Executable file
48
gen_version.py
Executable file
@ -0,0 +1,48 @@
|
||||
#!/usr/bin/env python
|
||||
# Copyright 2004-present Facebook. All Rights Reserved.
|
||||
import argparse
|
||||
import errno
|
||||
import hashlib
|
||||
import os
|
||||
import struct
|
||||
|
||||
|
||||
MAIN_VERSION = "4.4.2"
|
||||
|
||||
|
||||
def main():
|
||||
ap = argparse.ArgumentParser()
|
||||
ap.add_argument("--version", required=True)
|
||||
ap.add_argument("--release", required=True)
|
||||
ap.add_argument("--revision", required=True)
|
||||
ap.add_argument("output_path")
|
||||
args = ap.parse_args()
|
||||
|
||||
if args.version and args.release:
|
||||
sub_version = "%s_%s_%s" % (args.version, args.release, args.revision[:8])
|
||||
elif args.revision:
|
||||
sub_version = args.revision[:8]
|
||||
else:
|
||||
# Buck does not pass in any build data info in dev builds
|
||||
sub_version = "dev"
|
||||
|
||||
version = "%s_%s" % (MAIN_VERSION, sub_version)
|
||||
versionb = version.encode("ascii")
|
||||
versionhash = struct.unpack(">Q", hashlib.sha1(versionb).digest()[:8])[0]
|
||||
|
||||
contents = (
|
||||
"# auto-generated by the build\n" 'version = "%s"\n' "versionhash = %s\n"
|
||||
) % (version, versionhash)
|
||||
|
||||
try:
|
||||
output_dir = os.path.dirname(args.output_path)
|
||||
os.makedirs(output_dir)
|
||||
except OSError as ex:
|
||||
if ex.errno != errno.EEXIST:
|
||||
raise
|
||||
|
||||
with open(args.output_path, "w") as f:
|
||||
f.write(contents)
|
||||
|
||||
|
||||
main()
|
@ -217,6 +217,7 @@ Prevent adding new files in the root directory accidentally.
|
||||
Makefile
|
||||
README.rst
|
||||
TARGETS
|
||||
gen_version.py
|
||||
hg
|
||||
hgeditor
|
||||
hgweb.cgi
|
||||
|
Loading…
Reference in New Issue
Block a user