def main(): parser = gen_parser() args = parser.parse_args() if not os.path.isdir(args.TargetDir): sys.stderr.write("main NoExist TargetDir: %s \n\n" % args.TargetDir) sys.exit(1) if args.BuildTarget.lower() == "android": fileExt = ".apk" elif args.BuildTarget.lower() == "ios": fileExt = ".ipa" else: sys.stderr.write("main error BuildTarget: %s \n\n" % args.BuildTarget) sys.exit(1) packagePath = find_file(args.TargetDir, fileExt) if packagePath == "": sys.stderr.write("main not package file in dir: %s \n\n" % args.TargetDir) sys.exit(1) tokenCmd = "--token=" + args.Token changelog = "--changelog=" + args.Note command = ["fir", "publish", tokenCmd, packagePath, changelog] print("Final Command:", command, "\n\n") isOK, error = do_command(command) if not isOK: sys.stderr.write("main Upload Fir error: %s \n\n" % error) sys.exit(1)
def main(): parser = gen_parser() args = parser.parse_args() command = [args.UnityPath, "-batchmode", "-nographics", "-quit", "-logFile", args.LogFile, "-buildTarget", args.BuildTarget, "-projectPath", args.ProjectPath, "-executeMethod", "BatchBuild.Build"] unityArgs = re.split(' ', args.BuildArgs) finalCommand = command + unityArgs print("Final Command:", finalCommand, "\n\n") isOK, error = do_command(finalCommand) if not isOK: sys.stderr.write("main Build error: %s \n\n" % error) sys.exit(1)
def main(): parser = gen_parser() args = parser.parse_args() if not os.path.isdir(args.BuildDir): sys.stderr.write("main not a dir: %s \n\n" % args.BuildDir) sys.exit(1) ipaPath = find_file(args.BuildDir, ".ipa") if ipaPath == "": sys.stderr.write("main no ipa in dir: %s \n\n" % args.BuildDir) sys.exit(1) version = get_split_part(ipaPath, 1) if version == "": sys.stderr.write("main not a ipa: %s \n\n" % ipaPath) sys.exit(1) savePath = args.SaveTemplate % version # Xcode新版本插件会打包符号文件到输出目录,不用压缩了 if os.path.isfile(savePath): sys.exit(0) symPath = args.SymRoot if not os.path.isdir(args.SymRoot): sys.stderr.write("main SymRoot is not dir: %s \n\n" % args.SymRoot) sys.exit(1) else: endStr = ".app.dSYM" if not args.SymRoot.endswith(endStr): findDir = find_dir(args.SymRoot, endStr) if findDir == "": sys.stderr.write("main no dSYM in dir: %s \n\n" % args.SymRoot) sys.exit(1) else: symPath = findDir command = ["ditto", "-c", "-k", "--keepParent", "-rsrc", symPath, savePath] print("Final Command:", command, "\n\n") isOK, error = do_command(command) if not isOK: sys.stderr.write("main zip dSYM error: %s \n\n" % error) sys.exit(1)
def main(): parser = gen_parser() args = parser.parse_args() if not os.path.isdir(args.SymDir): sys.stderr.write("main NoExist SymDir: %s \n\n" % args.SymDir) sys.exit(1) symZip = find_file(args.SymDir, ".symbols.zip") if symZip == "": sys.stderr.write("main NoExist SymFile in Dir: %s \n\n" % args.SymDir) sys.exit(1) version = get_split_part(symZip, 1) if version == "": sys.stderr.write("main not a symFile: %s \n\n" % symZip) sys.exit(1) extractRoot = args.SymDir + "/temp" remove_dir(extractRoot) zip = zipfile.ZipFile(symZip, 'r') extractFiles = ["libunity.sym.so", "libil2cpp.sym"] for name in zip.namelist(): for extractFile in extractFiles: if name.endswith(extractFile): zip.extract(name, extractRoot) zip.close() command = [ "java", "-jar", args.BuglyToolFile, "-i", extractRoot, "-u", "-id", args.AppID, "-key", args.AppKey, "-version", version ] print("Final Command:", command, "\n\n") isOK, error = do_command(command) # 清理临时解压文件夹和bugly生成的符号文件 remove_dir(extractRoot) remove_file_container_str(args.SymDir, "buglySymbol_") if not isOK: sys.stderr.write("main upload bugly error: %s \n\n" % error) sys.exit(1)
def main(): parser = gen_parser() args = parser.parse_args() if not os.path.isdir(args.SymDir): sys.stderr.write("main NoExist SymDir: %s \n\n" % args.SymDir) sys.exit(1) symZip = find_file(args.SymDir, "dSYM.zip") if symZip == "": sys.stderr.write("main NoExist SymFile in Dir: %s \n\n" % args.SymDir) sys.exit(1) # jenkins中ipa文件名第1位是版本号, 名字_版号_GitTag_BuildID version = get_split_part(symZip, 1) if version == "": sys.stderr.write("main not a symFile: %s \n\n" % symZip) sys.exit(1) extractRoot = args.SymDir + "/temp" remove_dir(extractRoot) zip = zipfile.ZipFile(symZip, 'r') zip.extractall(extractRoot) zip.close() command = [ "java", "-jar", args.BuglyToolFile, "-i", extractRoot, "-u", "-id", args.AppID, "-key", args.AppKey, "-version", version ] print("Final Command:", command, "\n\n") isOK, error = do_command(command) # 清理临时解压文件夹和bugly生成的符号文件 remove_dir(extractRoot) remove_file_container_str(args.SymDir, "buglySymbol_") if not isOK: sys.stderr.write("main upload bugly error: %s \n\n" % error) sys.exit(1)