4f78a435db
Review URL: https://codereview.chromium.org//13000005 git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20630 260f80e4-7a28-3924-810f-c04153c831b5
55 lines
1.4 KiB
Python
Executable File
55 lines
1.4 KiB
Python
Executable File
#!/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.
|
|
|
|
"""
|
|
Pub buildbot steps.
|
|
|
|
Runs tests for pub and the pub packages that are hosted in the main Dart repo.
|
|
"""
|
|
|
|
import re
|
|
import sys
|
|
|
|
import bot
|
|
|
|
PUB_BUILDER = r'pub-(linux|mac|win)(-russian)?'
|
|
|
|
def PubConfig(name, is_buildbot):
|
|
"""Returns info for the current buildbot based on the name of the builder.
|
|
|
|
Currently, this is just:
|
|
- mode: always "release"
|
|
- system: "linux", "mac", or "win"
|
|
"""
|
|
pub_pattern = re.match(PUB_BUILDER, name)
|
|
if not pub_pattern:
|
|
return None
|
|
|
|
system = pub_pattern.group(1)
|
|
if system == 'win': system = 'windows'
|
|
|
|
return bot.BuildInfo('none', 'vm', 'release', system, checked=True)
|
|
|
|
|
|
def PubSteps(build_info):
|
|
with bot.BuildStep('Build API Docs'):
|
|
args = [sys.executable, './tools/build.py', '--mode=' + build_info.mode,
|
|
'api_docs']
|
|
print 'Generating API Docs: %s' % (' '.join(args))
|
|
bot.RunProcess(args)
|
|
|
|
with bot.BuildStep('Build package-root'):
|
|
args = [sys.executable, './tools/build.py', '--mode=' + build_info.mode,
|
|
'packages']
|
|
print 'Building package-root: %s' % (' '.join(args))
|
|
bot.RunProcess(args)
|
|
|
|
bot.RunTest('pub', build_info, ['pub', 'pkg', 'dartdoc', 'docs'])
|
|
|
|
|
|
if __name__ == '__main__':
|
|
bot.RunBot(PubConfig, PubSteps)
|