def main(): # Parse options parser = optparse.OptionParser() steps = ["getsdk", "compile", "unittest", "report", "summary"] for s in steps: parser.add_option("", "--" + s, action="store_true", default=False) parser.add_option( "-w", "--workarea", dest="workarea", help="Use given WORKAREA instead of newly checkedout workarea") parser.add_option("-b", "--branch", default="trunk", help="Checkout branch BRANCH from svn") parser.add_option("-s", "--sdk", default="Symbian\\9.1\\S60_3rd_MR", help="Checkout branch BRANCH from svn") parser.add_option("-d", "--builddir", default="jaikuv3", help="Build script directory that is used") parser.add_option("-v", "--verbose", action="store_true", default=False) parser.add_option("", "--clean", action="store_true", default=False, help="Clean old workareas and output dirs") parser.add_option("-t", "--targets", default="winscw thumb") (options, args) = parser.parse_args() # INPUT (run specific) # branch jaikubranch = options.branch # sdk sdkname = os.path.split(options.sdk)[1] buildsdk = os.path.join(work_drive, options.sdk) freshsdk = os.path.join(source_drive, options.sdk) # compilation dir compilation_subdir = options.builddir # svn svn_repository = "svn+ssh://kaksi.org/svn/mobile" svnbranch = '/'.join([svn_repository, jaikubranch]) tstampDt = datetime.datetime.utcnow() tstamp = tstampDt.strftime("%Y%m%d_%H%M%S") # targets targets = options.targets.split() for t in targets: if not t in jbuild.supportedTargets: print "Target %s not supported" % (t) sys.exit(1) jbuild.targets = targets jbuild.verbose = options.verbose if options.workarea: workarea = options.workarea branchname = os.path.split(workarea)[1].split('_')[0] buildname = os.path.split(workarea)[1] else: branchname = jaikubranch.replace('/', '_') buildname = "_".join([branchname, sdkname, tstamp]) workarea = os.path.join(workarea_rootdir, buildname) outputdir = os.path.join(output_rootdir, buildname) # enable all steps stepEnables = [getattr(options, s) for s in steps] if not any(stepEnables): # enable all for s in steps: setattr(options, s, True) def showinfo(msg): if (options.verbose): print msg if options.clean: showinfo("Cleaning old workareas") fileutils.safeRemoveTree(workarea_rootdir) showinfo("Cleaning old output dirs") fileutils.safeRemoveTree(output_rootdir) fileutils.ensurePathExists(output_rootdir) if not options.workarea: showinfo("Creating output directory") os.makedirs(outputdir) jbuild.connectLicenseServer(outputdir) if not options.workarea: showinfo("Checking out workarea") # create workarea for Jaiku source tree # export Jaiku source branch from svn fileutils.ensurePathExists(workarea_rootdir) jbuild.checkout(svnbranch, workarea, outputdir) if options.getsdk: showinfo("Removing existing sdk") fileutils.safeRemoveTree(buildsdk) showinfo("Copying clean sdk") shutil.copytree(freshsdk, buildsdk) if options.compile: showinfo("Compiling all") compiledir = os.path.join(workarea, compilation_subdir) jbuild.compile_all(buildsdk, compiledir, outputdir) showinfo("Copying sis files") try: jbuild.copysisfiles(compiledir, outputdir) except Exception, e: print e
import autobuild import fileutils import datetime import optparse import os import re parser = optparse.OptionParser() parser.add_option("-d", "--days", default="5", help="Delete directories older than DAYS") (options, args) = parser.parse_args() olderThan = datetime.timedelta( int(options.days) ) root = autobuild.workarea_rootdir dateR = re.compile( '(\d{4})(\d{2})(\d{2})_\d{6}$' ) today = datetime.date.today() for d in os.listdir( root ): m = dateR.search(d) if not m: continue y,m,day = m.group(1,2,3) created = datetime.date( int(y), int(m), int(day) ) if today - created > olderThan: print "Removing " + d fileutils.safeRemoveTree( os.path.join(root,d) )
def main(): # Parse options parser = optparse.OptionParser() steps = [ "getsdk", "compile", "unittest", "report", "summary" ]; for s in steps: parser.add_option("", "--" + s, action="store_true", default=False) parser.add_option("-w", "--workarea", dest="workarea", help="Use given WORKAREA instead of newly checkedout workarea") parser.add_option("-b", "--branch", default="trunk", help="Checkout branch BRANCH from svn") parser.add_option("-s", "--sdk", default="Symbian\\9.1\\S60_3rd_MR", help="Checkout branch BRANCH from svn") parser.add_option("-d", "--builddir", default="jaikuv3", help="Build script directory that is used") parser.add_option("-v", "--verbose", action="store_true", default=False) parser.add_option("", "--clean", action="store_true", default=False, help="Clean old workareas and output dirs") parser.add_option("-t", "--targets", default="winscw thumb") (options, args) = parser.parse_args() # INPUT (run specific) # branch jaikubranch = options.branch # sdk sdkname=os.path.split(options.sdk)[1] buildsdk = os.path.join( work_drive, options.sdk ) freshsdk = os.path.join( source_drive, options.sdk ) # compilation dir compilation_subdir = options.builddir # svn svn_repository = "svn+ssh://kaksi.org/svn/mobile" svnbranch = '/'.join( [svn_repository, jaikubranch] ) tstampDt = datetime.datetime.utcnow() tstamp = tstampDt.strftime( "%Y%m%d_%H%M%S" ); # targets targets = options.targets.split() for t in targets: if not t in jbuild.supportedTargets: print "Target %s not supported" % (t) sys.exit(1) jbuild.targets = targets jbuild.verbose = options.verbose if options.workarea: workarea = options.workarea branchname = os.path.split(workarea)[1].split('_')[0] buildname = os.path.split(workarea)[1] else: branchname = jaikubranch.replace('/', '_') buildname = "_".join( [branchname, sdkname, tstamp] ) workarea = os.path.join( workarea_rootdir, buildname ) outputdir = os.path.join( output_rootdir, buildname ) # enable all steps stepEnables = [ getattr(options, s) for s in steps] if not any(stepEnables): # enable all for s in steps: setattr(options, s, True) def showinfo(msg): if ( options.verbose ): print msg if options.clean: showinfo( "Cleaning old workareas" ) fileutils.safeRemoveTree(workarea_rootdir) showinfo( "Cleaning old output dirs" ) fileutils.safeRemoveTree(output_rootdir) fileutils.ensurePathExists(output_rootdir) if not options.workarea: showinfo( "Creating output directory" ) os.makedirs( outputdir ) jbuild.connectLicenseServer(outputdir) if not options.workarea: showinfo( "Checking out workarea" ) # create workarea for Jaiku source tree # export Jaiku source branch from svn fileutils.ensurePathExists( workarea_rootdir ) jbuild.checkout(svnbranch, workarea, outputdir) if options.getsdk: showinfo( "Removing existing sdk" ) fileutils.safeRemoveTree( buildsdk ) showinfo( "Copying clean sdk" ) shutil.copytree( freshsdk, buildsdk ) if options.compile: showinfo( "Compiling all" ) compiledir = os.path.join( workarea, compilation_subdir ) jbuild.compile_all( buildsdk, compiledir, outputdir ) showinfo( "Copying sis files" ) try: jbuild.copysisfiles( compiledir, outputdir ) except Exception, e: print e
import fileutils import datetime import optparse import os import re parser = optparse.OptionParser() parser.add_option("-d", "--days", default="5", help="Delete directories older than DAYS") (options, args) = parser.parse_args() olderThan = datetime.timedelta(int(options.days)) root = autobuild.workarea_rootdir dateR = re.compile('(\d{4})(\d{2})(\d{2})_\d{6}$') today = datetime.date.today() for d in os.listdir(root): m = dateR.search(d) if not m: continue y, m, day = m.group(1, 2, 3) created = datetime.date(int(y), int(m), int(day)) if today - created > olderThan: print "Removing " + d fileutils.safeRemoveTree(os.path.join(root, d))