mirror of
https://github.com/dart-lang/sdk
synced 2024-09-21 07:11:30 +00:00
64 lines
1.7 KiB
Python
64 lines
1.7 KiB
Python
#!/usr/bin/python
|
|
|
|
# Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
|
|
# for details. All rights reserved. Use of this source code is governed by a
|
|
# BSD-style license that can be found in the LICENSE file.
|
|
|
|
"""
|
|
Android buildbot steps.
|
|
"""
|
|
|
|
import os
|
|
import os.path
|
|
import re
|
|
import sys
|
|
|
|
import bot
|
|
|
|
ANDROID_BUILDER = r'vm-android-(linux|mac|win)'
|
|
|
|
def AndroidConfig(name, is_buildbot):
|
|
"""Returns info for the current buildbot based on the name of the builder.
|
|
|
|
Currently, this is just:
|
|
- mode: always "release" (for now)
|
|
- system: "linux", "mac", or "win"
|
|
"""
|
|
android_pattern = re.match(ANDROID_BUILDER, name)
|
|
if not android_pattern:
|
|
return None
|
|
|
|
system = android_pattern.group(1)
|
|
if system == 'win': system = 'windows'
|
|
|
|
return bot.BuildInfo('none', 'vm', 'release', system, checked=True)
|
|
|
|
|
|
def AndroidSteps(build_info):
|
|
# TODO(efortuna): Here's where we'll run tests.
|
|
#bot.RunTest('android', build_info, ['android'])
|
|
pass
|
|
|
|
def BuildAndroid(build_info):
|
|
"""
|
|
Builds the android target.
|
|
|
|
- build_info: the buildInfo object, containing information about what sort of
|
|
build and test to be run.
|
|
"""
|
|
with bot.BuildStep('Build Android'):
|
|
# TODO(vsm): A temporary hack until we figure out why incremental builds are
|
|
# broken on Android.
|
|
if os.path.exists('./out/lastHooksTargetOS.txt'):
|
|
os.remove('./out/lastHooksTargetOS.txt')
|
|
targets = ['runtime']
|
|
args = [sys.executable, './tools/build.py',
|
|
'--arch=' + build_info.arch,
|
|
'--mode=' + build_info.mode,
|
|
'--os=android'] + targets
|
|
print 'Building Android: %s' % (' '.join(args))
|
|
bot.RunProcess(args)
|
|
|
|
if __name__ == '__main__':
|
|
bot.RunBot(AndroidConfig, AndroidSteps, build_step=BuildAndroid)
|