kibana/x-pack/build_chromium/build_util.py
2018-08-30 11:48:10 -04:00

34 lines
1.1 KiB
Python

import os, hashlib
# This file contains various utility functions used by the init and build scripts
# Compute the root build and script directory as relative to this file
script_dir = os.path.realpath(os.path.join(__file__, '..'))
root_dir = os.path.realpath(os.path.join(script_dir, '..'))
def runcmd(cmd):
"""Executes a string command in the shell"""
print(cmd)
result = os.system(cmd)
if result != 0:
raise Exception(cmd + ' returned ' + str(result))
def mkdir(dir):
"""Makes a directory if it doesn't exist"""
if not os.path.exists(dir):
print('mkdir -p ' + dir)
return os.makedirs(dir)
def md5_file(filename):
"""Builds a hex md5 hash of the given file"""
md5 = hashlib.md5()
with open(filename, 'rb') as f:
for chunk in iter(lambda: f.read(128 * md5.block_size), b''):
md5.update(chunk)
return md5.hexdigest()
def configure_environment():
"""Configures temporary environment variables required by Chromium's build"""
depot_tools_path = os.path.join(root_dir, 'depot_tools')
os.environ['PATH'] = depot_tools_path + os.pathsep + os.environ['PATH']