import subprocess
import sys
-from lib.util import rm_rf
+from lib.util import execute, rm_rf, scoped_env
SOURCE_ROOT = os.path.abspath(os.path.dirname(os.path.dirname(__file__)))
def main():
os.environ['CI'] = '1'
- if os.environ['TRAVIS'] == 'true' and sys.platform == 'linux2':
- subprocess.check_call(['sudo', 'apt-get', 'update'])
- subprocess.check_call(['sudo', 'apt-get', 'install'] + LINUX_DEPS)
+ is_travis = (os.getenv('TRAVIS') == 'true')
+ if is_travis and sys.platform == 'linux2':
+ execute(['sudo', 'apt-get', 'update'])
+ execute(['sudo', 'apt-get', 'install'] + LINUX_DEPS)
rm_rf(os.path.join(SOURCE_ROOT, 'out'))
rm_rf(os.path.join(SOURCE_ROOT, 'node_modules'))
rm_rf(os.path.join(SOURCE_ROOT, 'vendor', 'brightray', 'vendor', 'download',
'libchromiumcontent'))
- run_script('bootstrap.py')
+ if is_travis and sys.platform == 'linux2':
+ with scoped_env('CXX', 'g++'):
+ with scoped_env('CC', 'gcc'):
+ run_script('bootstrap.py')
+ run_script('update.py')
+ else:
+ run_script('bootstrap.py')
+
run_script('cpplint.py')
if sys.platform != 'win32':
run_script('pylint.py')
os.chdir(cwd)
+@contextlib.contextmanager
+def scoped_env(key, value):
+ origin = ''
+ if key in os.environ:
+ origin = os.environ[key]
+ os.environ[key] = value
+ try:
+ yield
+ finally:
+ os.environ[key] = origin
+
+
def download(text, url, path):
safe_mkdir(os.path.dirname(path))
with open(path, 'wb') as local_file: