def sign_setup(): util.report("Begin Signature Setup.....") setup_name = "Strife-{version}-setup.exe".format(version=util.get_new_version()) unsign_names = [setup_name] sign_remote_dir = util.get_new_version() + '_setup_final' sign_src_dir = config.PACKAGE_OUT waitsign.Sign(sign_src_dir, sign_remote_dir, unsign_names) util.report("End Signature Setup.....")
def sign_setup(): util.report("Begin Signature Setup.....") setup_name = "Strife-{version}-setup.exe".format( version=util.get_new_version()) unsign_names = [setup_name] sign_remote_dir = util.get_new_version() + '_setup_final' sign_src_dir = config.PACKAGE_OUT waitsign.Sign(sign_src_dir, sign_remote_dir, unsign_names) util.report("End Signature Setup.....")
def get_commands(): login_cmd = "Login [email protected] 123456" load_spec_cmd = "LoadSpec {spec}".format(spec=config.RELEASE_SPEC) build_update_cmd = "BuildUpdate server_windows {newVersion} {oldVersion} ".format( newVersion=config.VER_INCREMENT_LOCATION, oldVersion=util.get_local_version()) package_out = os.path.join(config.ROOT_DIR, "StrifeServer").replace("\\", "/") gen_dir = os.path.join(config.ROOT_DIR, "tmp/update_server").replace("\\", "/") set_var = "set updategen_distDir %s" % gen_dir manifest = os.path.join(gen_dir, "manifests/strife-cn_prod-server-windows-x86", util.get_new_version() + ".xml").replace( "\\", "/") build_install_cmd = "BuildInstall {manifest} {package_out}".format( manifest=manifest, package_out=package_out) quit_cmd = "quit" cmds = ";".join([ set_var, login_cmd, load_spec_cmd, build_update_cmd, build_install_cmd, quit_cmd ]) return cmds
def update_k2_version(svn_revision): """ 将文件版本信息和产品版本信息写入k2_version.h,后续构建会将此信息编入pe文件版本信息内 :param svn_revision: :return: """ def write_k2_version(k2_version_file, version_info): with open(k2_version_file, "w") as f: f.write(version_info) version_info = "#ifndef K2_VERSION_H_\n" version_info += "#define K2_VERSION_H_\n" file_version=get_file_version(svn_revision) str_file_version = file_version.replace(",", ".") str_product_version = util.get_new_version() util.report("New Version Is:%s" % str_product_version) product_version = str_product_version.replace(".", ",") version_info += '#define FILE_VERSION {file_version}\n'.format(file_version=file_version) version_info += '#define STR_FILE_VERSION "{str_file_version}"\n'.format(str_file_version=str_file_version) version_info += '#define PRODUCT_VERSION {product_version}\n'.format(product_version=product_version) version_info += '#define STR_PRODUCT_VERSION "{str_product_version}"\n'.format(str_product_version=str_product_version) version_info += '#define COMPANY_NAME "{company_name}"\n'.format(company_name="S2 Games") version_info += '#define LEGAL_COPY_RIGTE "{legal_copy_write}"\n'.format( legal_copy_write="Copyright (C) 2013 S2 Games") version_info += '#define PRODUCT_NAME "{product_name}"\n'.format(product_name="Strife") version_info += "#endif //! #ifndef K2_VERSION_H_\n" k2_version_file = os.path.join(config.SRC_DIR, "k2", "k2_version.h") write_k2_version(k2_version_file, version_info)
def get_commands(): login_cmd = "Login [email protected] 123456" load_spec_cmd = "LoadSpec {spec}".format(spec=config.RELEASE_SPEC) build_update_cmd = "BuildUpdate server_windows {newVersion} {oldVersion} ".format( newVersion=config.VER_INCREMENT_LOCATION, oldVersion=util.get_local_version()) package_out = os.path.join(config.ROOT_DIR, "StrifeServer").replace("\\", "/") gen_dir = os.path.join(config.ROOT_DIR, "tmp/update_server").replace("\\", "/") set_var = "set updategen_distDir %s" % gen_dir manifest = os.path.join(gen_dir, "manifests/strife-cn_prod-server-windows-x86", util.get_new_version() + ".xml").replace("\\", "/") build_install_cmd = "BuildInstall {manifest} {package_out}".format(manifest=manifest, package_out=package_out) quit_cmd = "quit" cmds = ";".join( [set_var, login_cmd, load_spec_cmd, build_update_cmd, build_install_cmd,quit_cmd]) return cmds
os.makedirs(config.SYNC_SVN_DIR) with open(version_file, "w") as f: f.write(version) def commit_files(): old_dir = os.getcwd() resource_dir = config.SYNC_SVN_DIR os.chdir(resource_dir) add_cmd = "svn add * --force" p = subprocess.Popen(add_cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) while p.poll() == None: util.report(p.stdout.readline()) commit_cmd = '''svn commit -m "strife update files sync"''' p = subprocess.Popen(commit_cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) print commit_cmd while p.poll() == None: util.report(p.stdout.readline()) os.chdir(old_dir) if __name__ == "__main__": util.report("Begin sync files") sync_local("strife update") write_version(util.get_new_version()) commit_files() util.report("End sync files")
if line.startswith("!define"): if line.find("FILE_VERSION") != -1: line = "!define FILE_VERSION '{version}'\n".format(version=version) elif line.find("FILE_INSTVERSION") != -1: line = "!define FILE_INSTVERSION '{version}'\n".format(version=version) elif line.find("PACKAGE_OUTPUT") != -1: line = "!define PACKAGE_OUTPUT '{out}'\n".format(out=config.PACKAGE_OUT) nsi_data += line else: nsi_data += line with open(nsi_path, "w") as f: f.write(nsi_data) def make_installer(version): set_nis_info(config.NSI_SCRIPT, version) cmd = '{nsi_tool} /X"SetCompressor /FINAL lzma" {nsi_script}'.format( nsi_tool=config.NSI_TOOL, nsi_script=config.NSI_SCRIPT ) p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) while p.poll() == None: util.report(p.stdout.readline()) if __name__ == "__main__": util.report("Begin Installer.....") make_installer(util.get_new_version()) util.report("End Installer.....")
def sign_files(): util.report("Begin Signature Files.....") uninstaller.make_uninstaller(util.get_new_version()) do_digital_signature() post_signature() util.report("End Signature Files.....")
def do_digital_signature(): unsign_names = util.get_unsign_list(os.path.join(config.PACKAGE_OUT, "bin")) sign_remote_dir = util.get_new_version() + '_setup_files' sign_src_dir = os.path.join(config.PACKAGE_OUT, "bin") waitsign.Sign(sign_src_dir, sign_remote_dir, unsign_names)
line = "!define FILE_INSTVERSION '{version}'\n".format( version=version) elif line.find("PACKAGE_OUTPUT") != -1: line = "!define PACKAGE_OUTPUT '{out}'\n".format( out=config.PACKAGE_OUT) nsi_data += line else: nsi_data += line with open(nsi_path, "w") as f: f.write(nsi_data) def make_installer(version): set_nis_info(config.NSI_SCRIPT, version) cmd = '{nsi_tool} /X"SetCompressor /FINAL lzma" {nsi_script}'.format( nsi_tool=config.NSI_TOOL, nsi_script=config.NSI_SCRIPT) p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) while p.poll() == None: util.report(p.stdout.readline()) if __name__ == "__main__": util.report("Begin Installer.....") make_installer(util.get_new_version()) util.report("End Installer.....")
def _get_publish_dir(): return os.path.join(config.UPDATE_GEN_DIR, "setup", util.get_new_version())
def _get_new_setup(): setup_name = u"魔幻英雄-{version}-setup.exe".format( version=util.get_new_version()) return os.path.join(config.PACKAGE_OUT, setup_name)
old_dir = os.getcwd() resource_dir = config.SYNC_SVN_DIR os.chdir(resource_dir) add_cmd = "svn add * --force" p = subprocess.Popen(add_cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) while p.poll() == None: util.report(p.stdout.readline()) commit_cmd = '''svn commit -m "strife update files sync"''' p = subprocess.Popen(commit_cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) print commit_cmd while p.poll() == None: util.report(p.stdout.readline()) os.chdir(old_dir) if __name__ == "__main__": util.report("Begin sync files") sync_local("strife update") write_version(util.get_new_version()) commit_files() util.report("End sync files")
def _get_new_setup(): setup_name = u"魔幻英雄-{version}-setup.exe".format(version=util.get_new_version()) return os.path.join(config.PACKAGE_OUT, setup_name)