summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDominik Riebeling <Dominik.Riebeling@gmail.com>2010-03-31 20:52:07 +0000
committerDominik Riebeling <Dominik.Riebeling@gmail.com>2010-03-31 20:52:07 +0000
commitaae2213e0aeb2df1a20c2651484cca6644bb3da6 (patch)
treea458f5d01b52ddec118ed2e377eb39098c37e13f
parenta3d5f95981936f33dce378d8b989263cef06813e (diff)
downloadrockbox-aae2213e0aeb2df1a20c2651484cca6644bb3da6.tar.gz
rockbox-aae2213e0aeb2df1a20c2651484cca6644bb3da6.tar.bz2
rockbox-aae2213e0aeb2df1a20c2651484cca6644bb3da6.zip
Add build folder cleanup on build errors and add option to keep it.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25411 a1c6a512-1295-4272-9138-f99709370657
-rwxr-xr-xrbutil/rbutilqt/deploy-release.py27
1 files changed, 20 insertions, 7 deletions
diff --git a/rbutil/rbutilqt/deploy-release.py b/rbutil/rbutilqt/deploy-release.py
index f37535ea69..65eedf46ad 100755
--- a/rbutil/rbutilqt/deploy-release.py
+++ b/rbutil/rbutilqt/deploy-release.py
@@ -115,6 +115,7 @@ def usage(myself):
print " -b, --binary-only only create binary archive"
if sys.platform != "darwin":
print " -d, --dynamic link dynamically instead of static"
+ print " -k, --keep-temp keep temporary folder on build failure"
print " -h, --help this help"
print " If neither a project file nor tag is specified trunk will get downloaded"
print " from svn."
@@ -353,11 +354,20 @@ def filestats(filename):
print "-" * len(filename), "\n"
+def tempclean(workfolder, nopro):
+ if nopro == True:
+ print "Cleaning up working folder %s" % workfolder
+ shutil.rmtree(workfolder)
+ else:
+ print "Project file specified or cleanup disabled!"
+ print "Temporary files kept at %s" % workfolder
+
+
def main():
startup = time.time()
try:
- opts, args = getopt.getopt(sys.argv[1:], "q:p:t:a:sbdh",
- ["qmake=", "project=", "tag=", "add=", "source-only", "binary-only", "dynamic", "help"])
+ opts, args = getopt.getopt(sys.argv[1:], "q:p:t:a:sbdkh",
+ ["qmake=", "project=", "tag=", "add=", "source-only", "binary-only", "dynamic", "keep-temp", "help"])
except getopt.GetoptError, err:
print str(err)
usage(sys.argv[0])
@@ -370,6 +380,7 @@ def main():
cleanup = True
binary = True
source = True
+ keeptemp = False
if sys.platform != "darwin":
static = True
else:
@@ -391,6 +402,8 @@ def main():
source = False
if o in ("-d", "--dynamic") and sys.platform != "darwin":
static = False
+ if o in ("-k", "--keep-temp"):
+ keeptemp = True
if o in ("-h", "--help"):
usage(sys.argv[0])
sys.exit(0)
@@ -434,6 +447,7 @@ def main():
proj = sourcefolder + project
# get sources and pack source tarball
if not getsources(svnbase, svnpaths, sourcefolder) == 0:
+ tempclean(workfolder, cleanup and not keeptemp)
sys.exit(1)
if source == True:
@@ -463,11 +477,14 @@ def main():
# build it.
if not qmake(qm, proj, sourcefolder, static) == 0:
+ tempclean(workfolder, cleanup and not keeptemp)
sys.exit(1)
if not build(sourcefolder) == 0:
+ tempclean(workfolder, cleanup and not keeptemp)
sys.exit(1)
if sys.platform == "win32":
if not upxfile(sourcefolder) == 0:
+ tempclean(workfolder, cleanup and not keeptemp)
sys.exit(1)
archive = zipball(ver, sourcefolder)
elif sys.platform == "darwin":
@@ -476,11 +493,7 @@ def main():
archive = tarball(ver, sourcefolder)
# remove temporary files
- print "Cleaning up working folder %s" % workfolder
- if cleanup == True:
- shutil.rmtree(workfolder)
- else:
- print "Project file specified, not cleaning up!"
+ tempclean(workfolder, cleanup)
# display summary
headline = "Build Summary for %s" % program