-
Notifications
You must be signed in to change notification settings - Fork 11
/
build-quixote
43 lines (32 loc) · 1.17 KB
/
build-quixote
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#! /usr/bin/env python
import sys
import pprint
from pony_client import BuildCommand, TestCommand, do, send, \
TempDirectoryContext, SetupCommand, GitClone, check, parse_cmdline, \
PythonPackageEgg, get_python_version
options, _ = parse_cmdline()
python_exe = options.python_executable
repo_url = 'git://quixote.ca/quixote'
python_ver = 'python' + get_python_version(python_exe)
tags = [python_ver] + options.tagset
name = 'quixote'
server_url = options.server_url
if not options.force_build:
if not check(name, server_url, tags=tags):
print 'check build says no need to build; bye'
sys.exit(0)
context = TempDirectoryContext()
commands = [ GitClone(repo_url, name='checkout'),
BuildCommand([python_exe, 'setup.py', 'install'], name='compile')]
results = do(name, commands, context=context)
client_info, reslist, files = results
if options.report:
print 'result: %s; sending' % (client_info['success'],)
send(server_url, results, tags=tags)
else:
print 'build result:'
pprint.pprint(client_info)
pprint.pprint(reslist)
print '(NOT SENDING BUILD RESULT TO SERVER)'
if not client_info['success']:
sys.exit(-1)