linux: Don't set CXX to clang when building node modules.

This commit is contained in:
Cheng Zhao 2014-08-09 09:22:06 +08:00
Родитель ca522f06d3
Коммит 9035ffff55
3 изменённых файлов: 26 добавлений и 6 удалений

Просмотреть файл

@ -1,5 +1,5 @@
language: cpp language: cpp
compiler: gcc compiler: clang
os: os:
- linux - linux
- osx - osx

Просмотреть файл

@ -4,7 +4,7 @@ import os
import subprocess import subprocess
import sys 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__))) SOURCE_ROOT = os.path.abspath(os.path.dirname(os.path.dirname(__file__)))
@ -21,9 +21,10 @@ LINUX_DEPS = [
def main(): def main():
os.environ['CI'] = '1' os.environ['CI'] = '1'
if os.environ['TRAVIS'] == 'true' and sys.platform == 'linux2': is_travis = (os.getenv('TRAVIS') == 'true')
subprocess.check_call(['sudo', 'apt-get', 'update']) if is_travis and sys.platform == 'linux2':
subprocess.check_call(['sudo', 'apt-get', 'install'] + LINUX_DEPS) 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, 'out'))
rm_rf(os.path.join(SOURCE_ROOT, 'node_modules')) rm_rf(os.path.join(SOURCE_ROOT, 'node_modules'))
@ -33,7 +34,14 @@ def main():
rm_rf(os.path.join(SOURCE_ROOT, 'vendor', 'brightray', 'vendor', 'download', rm_rf(os.path.join(SOURCE_ROOT, 'vendor', 'brightray', 'vendor', 'download',
'libchromiumcontent')) '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') run_script('cpplint.py')
if sys.platform != 'win32': if sys.platform != 'win32':
run_script('pylint.py') run_script('pylint.py')

Просмотреть файл

@ -29,6 +29,18 @@ def scoped_cwd(path):
os.chdir(cwd) 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): def download(text, url, path):
safe_mkdir(os.path.dirname(path)) safe_mkdir(os.path.dirname(path))
with open(path, 'wb') as local_file: with open(path, 'wb') as local_file: