Exemplo n.º 1
0
	def makePatch(self, pl_name, os_name):
		#step 1: update bin res and script version
		if not svn.update(self.resFile):
			if self.retryPrompt(u"更新svn出错,是否重试"):
				self.makePatch()
			return "svn up res files failed"
		if not svn.update(self.versionFile):
			if self.retryPrompt(u"更新svn出错,是否重试"):
				self.makePatch()
			return "svn up versioin file failed"

		#step 2: sync scipt version to remote data,
		#plus one and pack_script.bat will plus script version one too
		current = self._read_lua_version()
		print("remote data version:%d"%self.targetdata['script_version'])
		print("current local version:%d"%current)
		self.targetdata['script_version'] = current + 1

		#step 3: pack script
		#os.system(self.packTool)

		#step 4: generate file list
		files = []
		targets = mgr.Inst.patchFiles()
		if "script.script" in targets:
			checksum = get_file_md5(self.scriptBin).decode('utf-8')
			urls = ["%s/%s" % (self.patchURLRoot, "script.script")]
			item = {"md5":checksum, "name":"script.script", "urls":urls}
			files.append(item)

		upload = [self.scriptBin]
		for tar in targets:
			if tar == "script.script":
				continue
			p = self.resFile+tar
			upload.append(p)
			checksum = get_file_md5(p).decode('utf-8')
			urls = ["%s/%s" % (self.patchURLRoot, tar)]
			item = {"md5":checksum, "name":tar, "urls":urls}
			files.append(item)
		self.targetdata["files"] = files

		#step 5: upload hotfix files
		if not mgr.Inst.uploadFiles(pl_name, os_name, upload):
			return "upload hotfix files failed"

		#step 6: upload config json file
		return mgr.Inst.saveData(pl_name, os_name, self.targetdata)
Exemplo n.º 2
0
def sub_call(tree, path):
    os.system("title %s" % tree)
    while True:
        print("1: Compile a fresh build\n")
        print("10: Compile Release (Installer)\n")
        print("2: Update")
        print("3: Commit")
        print("4: Revert\n")
        print("5: Start Blender\n")
        print("6: Compile")
        print("7: Clean\n")
        print("0: Back to Main menu")
        print("")

        op = int(input(">> "))
        nsis = False
        
        if op == 1:
            bit = int(input("32 or 64 bit? "))
            svn.update(path)
            rev = svn.revision(root, path)
            scons.clean(path)
            if bit == 32:
                scons.compile_32(path, nsis)
                tools.copy_libs_32(tree)
            elif bit == 64:
                scons.compile_64(path, nsis)
                tools.copy_libs_64(tree)
            else:
                continue
            tools.compress(root, tree, rev, bit)
        elif op == 10:
            bit = int(input("32 or 64 bit? "))
            svn.update(path)
            rev = svn.revision(root, path)
            scons.clean(path)
            if bit == 32:
                scons.compile_32(path, nsis=True)
            elif bit == 64:
                scons.compile_64(path, nsis=True)
            else:
                continue
        elif op == 2:
            svn.update(path)
        elif op == 3:
            svn.commit(path)
        elif op == 4:
            svn.revert(path)
        elif op == 5:
            try:
                os.chdir('%s/install/%s' % (root, tree))
                Popen('%s/install/%s/blender.exe' % (root, tree))
            except:
                print ("No binary file found. Please recompile.")
        elif op == 6:
            bit = int(input("32 or 64 bit? "))
            if bit == 32:
                scons.compile_32(path, nsis)
            elif bit == 64:
                scons.compile_64(path, nsis)
        elif op == 7:
            scons.clean(path)
        elif op == 0:
            os.system('cls')
            start()