Merge remote-tracking branch 'upstream/master'

This commit is contained in:
Torsten Grote 2012-01-09 16:22:03 +01:00
commit 9386bbf46a
18 changed files with 66 additions and 37 deletions

View file

@ -36,13 +36,14 @@ from common import VCSException
#Read configuration... #Read configuration...
execfile('config.py') execfile('config.py')
# Parse command line... # Parse command line...
parser = OptionParser() parser = OptionParser()
parser.add_option("-v", "--verbose", action="store_true", default=False, parser.add_option("-v", "--verbose", action="store_true", default=False,
help="Spew out even more information than normal") help="Spew out even more information than normal")
parser.add_option("-p", "--package", default=None, parser.add_option("-p", "--package", default=None,
help="Build only the specified package") help="Build only the specified package")
parser.add_option("-s", "--stop", action="store_true", default=False,
help="Make the build stop on exceptions")
(options, args) = parser.parse_args() (options, args) = parser.parse_args()
# Get all apps... # Get all apps...
@ -51,6 +52,11 @@ apps = common.read_metadata(options.verbose)
failed_apps = {} failed_apps = {}
build_succeeded = [] build_succeeded = []
log_dir = 'logs'
if not os.path.isdir(log_dir):
print "Creating log directory"
os.makedirs(log_dir)
output_dir = 'repo' output_dir = 'repo'
if not os.path.isdir(output_dir): if not os.path.isdir(output_dir):
print "Creating output directory" print "Creating output directory"
@ -135,17 +141,17 @@ for app in apps:
if thisbuild.has_key('maven'): if thisbuild.has_key('maven'):
p = subprocess.Popen(['mvn', 'clean', 'install', p = subprocess.Popen(['mvn', 'clean', 'install',
'-Dandroid.sdk.path=' + sdk_path], '-Dandroid.sdk.path=' + sdk_path],
cwd=root_dir, stdout=subprocess.PIPE) cwd=root_dir, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
else: else:
if thisbuild.has_key('antcommand'): if thisbuild.has_key('antcommand'):
antcommand = thisbuild['antcommand'] antcommand = thisbuild['antcommand']
else: else:
antcommand = 'release' antcommand = 'release'
p = subprocess.Popen(['ant', antcommand], cwd=root_dir, p = subprocess.Popen(['ant', antcommand], cwd=root_dir,
stdout=subprocess.PIPE) stdout=subprocess.PIPE, stderr=subprocess.PIPE)
output = p.communicate()[0] output, error = p.communicate()
if p.returncode != 0: if p.returncode != 0:
raise BuildException("Build failed for %s:%s (%s)" % (app['id'], thisbuild['version'], output.strip())) raise BuildException("Build failed for %s:%s" % (app['id'], thisbuild['version']), output.strip(), error.strip())
elif options.verbose: elif options.verbose:
print output print output
print "Build successful" print "Build successful"
@ -267,12 +273,21 @@ for app in apps:
os.remove(dest_unsigned) os.remove(dest_unsigned)
build_succeeded.append(app) build_succeeded.append(app)
except BuildException as be: except BuildException as be:
if options.stop:
raise
print "Could not build app %s due to BuildException: %s" % (app['id'], be) print "Could not build app %s due to BuildException: %s" % (app['id'], be)
logfile = open(os.path.join(log_dir, app['id'] + '.log'), 'a+')
logfile.write(str(be))
logfile.close
failed_apps[app['id']] = be failed_apps[app['id']] = be
except VCSException as vcse: except VCSException as vcse:
if options.stop:
raise
print "VCS error while building app %s: %s" % (app['id'], vcse) print "VCS error while building app %s: %s" % (app['id'], vcse)
failed_apps[app['id']] = vcse failed_apps[app['id']] = vcse
except Exception as e: except Exception as e:
if options.stop:
raise
print "Could not build app %s due to unknown error: %s" % (app['id'], e) print "Could not build app %s due to unknown error: %s" % (app['id'], e)
failed_apps[app['id']] = e failed_apps[app['id']] = e
@ -280,9 +295,11 @@ for app in build_succeeded:
print "success: %s" % (app['id']) print "success: %s" % (app['id'])
for fa in failed_apps: for fa in failed_apps:
print "Build for app %s failed: %s" % (fa, failed_apps[fa]) print "Build for app %s failed:\n%s" % (fa, failed_apps[fa])
print "Finished." print "Finished."
if len(build_succeeded) > 0:
print str(len(failed_succeeded)) + ' builds succeeded'
if len(failed_apps) > 0: if len(failed_apps) > 0:
print str(len(failed_apps)) + ' builds failed' print str(len(failed_apps)) + ' builds failed'

View file

@ -384,11 +384,18 @@ def read_metadata(verbose=False):
return apps return apps
class BuildException(Exception): class BuildException(Exception):
def __init__(self, value): def __init__(self, value, stdout = None, stderr = None):
self.value = value self.value = value
self.stdout = stdout
self.stderr = stderr
def __str__(self): def __str__(self):
return repr(self.value) ret = repr(self.value)
if self.stdout:
ret = ret + "\n==== stdout begin ====\n" + str(self.stdout) + "\n==== stdout end ===="
if self.stderr:
ret = ret + "\n==== stderr begin ====\n" + str(self.stderr) + "\n==== stderr end ===="
return ret
class VCSException(Exception): class VCSException(Exception):
def __init__(self, value): def __init__(self, value):

View file

@ -23,5 +23,5 @@ Build Version:1.2.1.2,75,28c98a7,prebuild=rsync -r lib/ libs,target=android-10
Build Version:1.2.1.3,76,143892b558,prebuild=rsync -r lib/ libs,target=android-10 Build Version:1.2.1.3,76,143892b558,prebuild=rsync -r lib/ libs,target=android-10
Build Version:1.2.1.5,78,!more dependency shuffling required and watch out for the proguard config Build Version:1.2.1.5,78,!more dependency shuffling required and watch out for the proguard config
Market Version:1.2.1.5 Market Version:1.2.2a
Market Version Code:78 Market Version Code:81

View file

@ -1,9 +1,10 @@
Disabled:Non-free blob
License:GPLv2 License:GPLv2
Category:Office Category:Office
Web Site:https://code.google.com/p/daily-money/ Web Site:https://code.google.com/p/daily-money/
Source Code:https://code.google.com/p/daily-money/source/browse/ Source Code:https://code.google.com/p/daily-money/source/browse/
Issue Tracker:https://code.google.com/p/daily-money/issues/list Issue Tracker:https://code.google.com/p/daily-money/issues/list
Summary:A simple & easy financial android application Summary:Simple Finance Manager
Description: Description:
Features: Features:
* Record your daily expense, income, asset and liability * Record your daily expense, income, asset and liability

View file

@ -27,5 +27,5 @@ prebuild=sed -ri 's/(debuggable)="true"/\1="false"/' AndroidManifest.xml
Build Version:1.36.4,110,161,\ Build Version:1.36.4,110,161,\
prebuild=sed -ri 's/(debuggable)="true"/\1="false"/' AndroidManifest.xml prebuild=sed -ri 's/(debuggable)="true"/\1="false"/' AndroidManifest.xml
Market Version:1.39.2 Market Version:1.39.3
Market Version Code:152 Market Version Code:154

View file

@ -14,5 +14,5 @@ Repo:https://github.com/matburt/mobileorg-android.git
#Needs dropbox consumer key #Needs dropbox consumer key
#Build Version:0.5.2,51,38dfe967ee99c71b12b8 #Build Version:0.5.2,51,38dfe967ee99c71b12b8
Market Version:0.6.2 Market Version:0.7.1
Market Version Code:62 Market Version Code:71

View file

@ -24,5 +24,5 @@ Build Version:1.3,69,197,target=android-8
Build Version:1.3.1,70,210,target=android-10 Build Version:1.3.1,70,210,target=android-10
Market Version:1.3.1 Market Version:1.3.2
Market Version Code:70 Market Version Code:71

View file

@ -12,4 +12,4 @@ obstacle.
Repo Type:hg Repo Type:hg
Repo:https://droid-atomix.googlecode.com/hg/ Repo:https://droid-atomix.googlecode.com/hg/
Use Built:Yes Use Built:Yes
Build Version:1.0.1,2,ea2086d1f9fe759866008f6fe5187fc1cc97bd1d,target=android-4 Build Version:1.0.1,2,ea2086d1f9fe759866008f6fe5187fc1cc97bd1d,target=android-4,prebuild=sed -i -e "/key\.alias.*/d" -e "/key\.store.*/d" *.properties

View file

@ -22,5 +22,5 @@ Build Version:0.2.11,46,614,prebuild=mv lib/ libs/
#Still guessing, see previous comment #Still guessing, see previous comment
Build Version:0.3.1,48,659,prebuild=mv lib/ libs/ Build Version:0.3.1,48,659,prebuild=mv lib/ libs/
Market Version:0.4.1 Market Version:0.4.3
Market Version Code:51 Market Version Code:53

View file

@ -22,5 +22,5 @@ Repo:http://sharemyposition.googlecode.com/svn/trunk/
Build Version:1.0.11,16,64,subdir=ShareMyPosition-android Build Version:1.0.11,16,64,subdir=ShareMyPosition-android
Market Version:1.0.11 Market Version:1.1.0-beta1
Market Version Code:16 Market Version Code:18

View file

@ -20,5 +20,5 @@ Build Version:0.2.2,8,v0.2.2,buildjni=yes,target=android-8
Build Version:0.3.-1,10,v0.3.-1,buildjni=yes,target=android-8 Build Version:0.3.-1,10,v0.3.-1,buildjni=yes,target=android-8
Build Version:0.3.2,13,v0.3.2,buildjni=yes,target=android-8 Build Version:0.3.2,13,v0.3.2,buildjni=yes,target=android-8
Market Version:0.4.1 Market Version:0.4.2
Market Version Code:15 Market Version Code:16

View file

@ -49,5 +49,5 @@ Build Version:3.0.54-5,275,cr3.0.54-5,subdir=android,rm=android/build.properties
Build Version:3.0.54-9,279,cr3.0.54-9,subdir=android,rm=android/build.properties,buildjni=yes Build Version:3.0.54-9,279,cr3.0.54-9,subdir=android,rm=android/build.properties,buildjni=yes
Build Version:3.0.54-33,303,cr3.0.54-33,subdir=android,rm=android/build.properties,buildjni=yes Build Version:3.0.54-33,303,cr3.0.54-33,subdir=android,rm=android/build.properties,buildjni=yes
Market Version:3.0.54-33 Market Version:3.0.54-38
Market Version Code:303 Market Version Code:308

View file

@ -3,9 +3,12 @@ Category:System
Web Site:https://code.google.com/p/moonblink/wiki/Dazzle Web Site:https://code.google.com/p/moonblink/wiki/Dazzle
Source Code:https://moonblink.googlecode.com/svn/trunk/Dazzle/ Source Code:https://moonblink.googlecode.com/svn/trunk/Dazzle/
Issue Tracker:https://code.google.com/p/moonblink/issues/list Issue Tracker:https://code.google.com/p/moonblink/issues/list
Summary:configurable switcher widget for WiFi, Bluetooth, GPS, airplane mode, and brightness controls Summary:Configurable switcher widget
Description: Description:
Dazzle is a configurable switcher widget for Android devices; it allows you to create one or more switcher widgets, in four sizes, with your choice of controls. You can choose from WiFi, Bluetooth, GPS, airplane mode, and brightness controls; on supported devices, brightness lets you toggle between auto and manual modes. Dazzle is a configurable switcher widget; it allows you to create one or more
switcher widgets, in four sizes, with your choice of controls. You can choose
from WiFi, Bluetooth, GPS, airplane mode, and brightness controls; on
supported devices, brightness lets you toggle between auto and manual modes.
. .
Repo Type:svn Repo Type:svn

View file

@ -9,8 +9,8 @@ Description:
A bubble shooting game. Knock the bubbles down by forming clusters of three A bubble shooting game. Knock the bubbles down by forming clusters of three
or more bubbles. or more bubbles.
. .
Market Version:1.11 Market Version:1.12
Market Version Code:12 Market Version Code:13
Repo Type:svn Repo Type:svn
Repo:http://frozenbubbleandroid.googlecode.com/svn/ Repo:http://frozenbubbleandroid.googlecode.com/svn/

View file

@ -21,5 +21,5 @@ Repo:http://android.svn.wordpress.org/trunk/
Build Version:1.3.9,31,202,prebuild=mkdir libs && mv *.jar libs && sed -i "s@checkStats(accounts.size());@// MY PRIVACY > YOUR STATS@" src/org/wordpress/android/wpAndroid.java,encoding=utf-8 Build Version:1.3.9,31,202,prebuild=mkdir libs && mv *.jar libs && sed -i "s@checkStats(accounts.size());@// MY PRIVACY > YOUR STATS@" src/org/wordpress/android/wpAndroid.java,encoding=utf-8
Build Version:1.4.1,33,228,prebuild=mkdir libs && mv *.jar libs && sed -i "s@checkStats(accounts.size());@// MY PRIVACY > YOUR STATS@" src/org/wordpress/android/wpAndroid.java,encoding=utf-8 Build Version:1.4.1,33,228,prebuild=mkdir libs && mv *.jar libs && sed -i "s@checkStats(accounts.size());@// MY PRIVACY > YOUR STATS@" src/org/wordpress/android/wpAndroid.java,encoding=utf-8
Market Version:2.0.1 Market Version:2.0.2
Market Version Code:39 Market Version Code:40

View file

@ -17,5 +17,5 @@ Repo:http://android-xbmcremote.googlecode.com/svn/trunk/XBMC%20Remote
Build Version:0.8.5-beta1,730,730,encoding=utf-8,prebuild=mv lib libs && mv lib-src/org/codehaus src/org/ Build Version:0.8.5-beta1,730,730,encoding=utf-8,prebuild=mv lib libs && mv lib-src/org/codehaus src/org/
Build Version:0.8.6-beta1,768,768,encoding=utf-8,prebuild=mv lib libs && mv lib-src/org/codehaus src/org/ Build Version:0.8.6-beta1,768,768,encoding=utf-8,prebuild=mv lib libs && mv lib-src/org/codehaus src/org/
Market Version:0.8.7-beta1 Market Version:0.8.8-beta1
Market Version Code:807 Market Version Code:808

View file

@ -19,5 +19,5 @@ Build Version:0.8.0,9,0.8.0,oldsdkloc=yes,submodules=yes,fixtrans=yes,target=and
Build Version:0.8.1,10,0.8.1,oldsdkloc=yes,submodules=yes,fixtrans=yes,target=android-10 Build Version:0.8.1,10,0.8.1,oldsdkloc=yes,submodules=yes,fixtrans=yes,target=android-10
Build Version:0.8.2,11,0.8.2,oldsdkloc=yes,submodules=yes,fixtrans=yes,target=android-10 Build Version:0.8.2,11,0.8.2,oldsdkloc=yes,submodules=yes,fixtrans=yes,target=android-10
Market Version:0.8.2 Market Version:0.8.3
Market Version Code:11 Market Version Code:12

View file

@ -93,6 +93,7 @@ for app in apps:
# Scan for common known non-free blobs: # Scan for common known non-free blobs:
usual_suspects = ['flurryagent.jar', usual_suspects = ['flurryagent.jar',
'paypal_mpl.jar', 'paypal_mpl.jar',
'libGoogleAnalytics.jar',
'admob-sdk-android.jar'] 'admob-sdk-android.jar']
for r,d,f in os.walk(build_dir): for r,d,f in os.walk(build_dir):
for curfile in f: for curfile in f: