[Scummvm-cvs-logs] SF.net SVN: scummvm:[41649] buildbot/config

dhewg at users.sourceforge.net dhewg at users.sourceforge.net
Fri Jun 19 00:32:18 CEST 2009


Revision: 41649
          http://scummvm.svn.sourceforge.net/scummvm/?rev=41649&view=rev
Author:   dhewg
Date:     2009-06-18 22:32:18 +0000 (Thu, 18 Jun 2009)

Log Message:
-----------
Merged both package commands, so snapshots for platforms with a custom dist target get copied to the wwwroot.

Modified Paths:
--------------
    buildbot/config/master.cfg
    buildbot/config/scumm.py

Modified: buildbot/config/master.cfg
===================================================================
--- buildbot/config/master.cfg	2009-06-18 22:29:42 UTC (rev 41648)
+++ buildbot/config/master.cfg	2009-06-18 22:32:18 UTC (rev 41649)
@@ -160,7 +160,8 @@
 		"--with-flac-prefix=%s/3rd/wii" % scumm_root_wii
 	],
 	"env": scumm_env_wii,
-	"package": [ "scummvm.dol" ]
+	"disttarget": "wiidist",
+	"package": [ "wiidist/scummvm" ]
 }
 
 scumm_platforms_trunk["wii"] = p
@@ -519,28 +520,20 @@
 						],
 						env = config["env"]))
 
-	scumm_package = []
-
+	platform_disttarget = ""
 	if config.has_key("disttarget"):
-		f.addStep(scumm.Dist(command = [
-								"make",
-								config["disttarget"],
-								WithProperties("SCUMMVM_SVN_REVISION=%(got_revision)s")
-							],
-							env = config["env"]))
+		platform_disttarget = config["disttarget"]
 	else:
-		# platform has no configured dist target, strip the binary and package up the default files
-		scumm_package = scumm_package_trunk
-
 		if config.has_key("strip"):
 			f.addStep(scumm.Strip(command = config["strip"]))
 
-
-	f.addStep(scumm.Package(srcpath = "../../src-trunk/src/",
+	f.addStep(scumm.Package(disttarget = platform_disttarget,
+							srcpath = "../../src-trunk/src/",
 							dstpath = scumm_package_dst_trunk,
-							package = scumm_package,
+							package = scumm_package_trunk,
 							buildname = name + "-trunk",
-							platform_package = config["package"]))
+							platform_package = config["package"],
+							env = config["env"]))
 
 	c["builders"].append( {
 		"name": "trunk-%s" % name,
@@ -566,14 +559,20 @@
 						],
 						env = config["env"]))
 
-	if config.has_key("strip"):
-		f.addStep(scumm.Strip(command = config["strip"]))
+	platform_disttarget = ""
+	if config.has_key("disttarget"):
+		platform_disttarget = config["disttarget"]
+	else:
+		if config.has_key("strip"):
+			f.addStep(scumm.Strip(command = config["strip"]))
 
-	f.addStep(scumm.Package(srcpath = "../../src-branch/src/",
-							dstpath = scumm_package_dst_branch,
-							package = scumm_package_branch,
+	f.addStep(scumm.Package(disttarget = platform_disttarget,
+							srcpath = "../../src-branch/src/",
+							dstpath = scumm_package_dst_trunk,
+							package = scumm_package_trunk,
 							buildname = name + "-%s" % scumm_branch_desc,
-							platform_package = config["package"]))
+							platform_package = config["package"],
+							env = config["env"]))
 
 	c["builders"].append( {
 		"name": "branch-%s" % name,

Modified: buildbot/config/scumm.py
===================================================================
--- buildbot/config/scumm.py	2009-06-18 22:29:42 UTC (rev 41648)
+++ buildbot/config/scumm.py	2009-06-18 22:32:18 UTC (rev 41649)
@@ -81,22 +81,6 @@
 
 		ShellCommand.start(self)
 
-# Small buildstep class to handle port specific jobs prior packaging, only done on nightly builds.
-class Dist(ShellCommand):
-	name = "dist"
-	haltOnFailure = 1
-	flunkOnFailure = 1
-	description = [ "dist" ]
-	descriptionDone = [ "dist" ]
-
-	def start(self):
-		properties = self.build.getProperties()
-
-		if not properties.has_key("package"):
-			return SKIPPED
-
-		ShellCommand.start(self)
-
 # Buildstep class to package binaries, only done on nightly builds.
 class Package(ShellCommand):
 	name = "package"
@@ -106,6 +90,8 @@
 	descriptionDone = [ "package" ]
 
 	def __init__(self, **kwargs):
+		self.disttarget = kwargs["disttarget"]
+		del kwargs["disttarget"]
 		self.srcpath = kwargs["srcpath"]
 		del kwargs["srcpath"]
 		self.dstpath = kwargs["dstpath"]
@@ -117,10 +103,9 @@
 		self.platform_package = kwargs["platform_package"]
 		del kwargs["platform_package"]
 
-		kwargs["workdir"] = "package"
-
 		ShellCommand.__init__(self, **kwargs)
 
+		self.addFactoryArguments(disttarget = self.disttarget)
 		self.addFactoryArguments(srcpath = self.srcpath)
 		self.addFactoryArguments(dstpath = self.dstpath)
 		self.addFactoryArguments(package = self.package)
@@ -133,26 +118,35 @@
 		if not properties.has_key("package"):
 			return SKIPPED
 
+		disttarget = False
+
+		if len(self.disttarget) > 0:
+			disttarget = True
+
 		name = "%s-r%s" % (self.buildname, properties["got_revision"])
 		file = "%s.tar.bz2" % name
 		symlink = "%s-latest.tar.bz2" % self.buildname
-		files = [ os.path.join(self.srcpath, i) for i in self.package ]
-		files += [ os.path.join("../build", i) for i in self.platform_package ]
 
-		self.command = "mkdir %s && " \
-						"cp -r %s %s/ && " \
-						"tar cvjf %s %s/ && " \
-						"mv %s %s/ && " \
-						"ln -sf %s %s && " \
-						" rm -rf %s || " \
-						"( rm -rf %s; return 1 )" \
-						% (name,
-							" ".join(files), name,
-							file, name,
-							file, self.dstpath,
-							file, os.path.join(self.dstpath, symlink),
-							name,
-							name)
+		files = []
+
+		# dont pack up the default files if the port has its own dist target
+		if not disttarget:
+			files += [ os.path.join(self.srcpath, i) for i in self.package ]
+
+		files += self.platform_package
+
+		self.command = ""
+
+		if disttarget:
+			self.command += "make %s && " % self.disttarget
+
+		self.command += "mkdir %s && " % name
+		self.command += "cp -r %s %s/ && " % (" ".join(files), name)
+		self.command += "tar cvjf %s %s/ && " % (file, name)
+		self.command += "mv %s %s/ && " % (file, self.dstpath)
+		self.command += "ln -sf %s %s && " % (file, os.path.join(self.dstpath, symlink))
+		self.command += " rm -rf %s || " % name
+		self.command +="( rm -rf %s; false )" % name
 					
 		ShellCommand.start(self)
 


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list