def bop_main(bop_dir, mcp_dir): sys.path.append(mcp_dir) from runtime.reobfuscate import reobfuscate from bop import copytree, reset_logger, recompile, copyreobfuscatedfiles, unzipandcopybtw, cleanup from update_binary_patches import updatepatches print '=============================== Build Biomes O Plenty Start =====================================' print '-=Copying BOP Files=-' copytree(os.path.join(bop_dir, 'src'), os.path.join(mcp_dir, 'src')) os.chdir(mcp_dir) reset_logger() print '-=Recompiling=-' recompile(None, False, False) reset_logger() print '-=Reobfuscating=-' reobfuscate(None, False, False, False, False, False, False) reset_logger() print '-=Copying Reobfuscated Files=-' copyreobfuscatedfiles(bop_dir, mcp_dir) #print 'Unzipping BTW & Copying Files' #unzipandcopybtw(bop_dir) #print 'Creating Binary Patches' #updatepatches() print '-=Cleaning Up=-' cleanup(bop_dir, mcp_dir) print '=============================== Build Biomes O Plenty Finished ================================='
def main(): global version_str global version_mc build_num = 0 if len(sys.argv) > 1: try: build_num = int(sys.argv[1]) except: pass ret = 0 fml_dir = os.path.join(forge_dir, 'fml') build_forge_dev(mcp_dir, forge_dir, fml_dir, build_num) if ret != 0: sys.exit(ret) print '=================================== Release Start =================================' error_level = 0 try: os.chdir(mcp_dir) reset_logger() reobfuscate(None, False, True, True, True, False) reset_logger() os.chdir(forge_dir) except SystemExit, e: print 'Reobfusicate Exception: %d ' % e.code error_level = e.code
def main(): global version_str build_num = 0 if len(sys.argv) > 1: try: build_num = int(sys.argv[1]) except: pass ret = 0 ret = build(build_num) if ret != 0: sys.exit(ret) print '=================================== Release Start =================================' error_level = 0 try: os.chdir(mcp_dir) reset_logger() print 'reobf start' reobfuscate(None, False, True, True) print 'reobf end' reset_logger() os.chdir(forge_dir) except SystemExit, e: print 'Reobfusicate Exception: %d ' % e.code error_level = e.code
def main(): printHeader(1, 'Cleaning up workspace') cleanup() printHeader(1, 'Getting current Git branch') getBranchName() printHeader(1, 'Importing Forge and MCP') importMCP() printHeader(1, 'Loading version info from Git') getVersion() printHeader(1, 'Loading locally-built dependencies') ext_lib_path = os.path.join(workspace, "libs") for lib in os.listdir(ext_lib_path): if re.search(r'-%s-'%verData["mcversion"], lib): print("Loading dependency: %s" % lib) shutil.copy(os.path.join(ext_lib_path, lib), os.path.join(mcp_dir, "lib")) printHeader(1, 'Loading Source code into MCP') mergetree(os.path.join(workspace, "src"), os.path.join(mcp_dir, "src")) printHeader(1, 'Recompiling') from runtime.recompile import recompile recompile(None, False, False) printHeader(1, 'Reobfuscating') from runtime.reobfuscate import reobfuscate reobfuscate(None, False, True, False, False, False, True)
def main(): global version_str major_num = 0 build_num = 0 revision_num = 0 if len(sys.argv) > 1: try: major_num = int(sys.argv[1]) build_num = int(sys.argv[2]) revision_num = int(sys.argv[3]) except: pass ret = 0 ret = build(major_num, build_num, revision_num) if ret != 0: sys.exit(ret) print '============================= Release Start (%d.%d.%d) ============================' % ( major_num, build_num, revision_num) error_level = 0 try: os.chdir(mcp_dir) reset_logger() print 'reobf start' reobfuscate(None, False, True, True, True, False, False) print 'reobf end' reset_logger() os.chdir(forge_dir) except SystemExit, e: print 'Reobfusicate Exception: %d ' % e.code error_level = e.code
def main(): printHeader(1, 'Cleaning up workspace') cleanup() printHeader(1, 'Getting current Git branch') getBranchName() printHeader(1, 'Importing Forge and MCP') importMCP() printHeader(1, 'Loading version info from Git') getVersion() printHeader(1, 'Loading locally-built dependencies') ext_lib_path = os.path.join(workspace, "libs") for lib in os.listdir(ext_lib_path): if re.search(r'-%s-' % verData["mcversion"], lib): print("Loading dependency: %s" % lib) shutil.copy(os.path.join(ext_lib_path, lib), os.path.join(mcp_dir, "lib")) printHeader(1, 'Loading Source code into MCP') mergetree(os.path.join(workspace, "src"), os.path.join(mcp_dir, "src")) printHeader(1, 'Recompiling') from runtime.recompile import recompile recompile(None, False, False) printHeader(1, 'Reobfuscating') from runtime.reobfuscate import reobfuscate reobfuscate(None, False, True, False, False, False, True)
def soulforge_main(soulforge_dir, mcp_dir): sys.path.append(mcp_dir) from runtime.updatemd5 import updatemd5 from runtime.reobfuscate import reobfuscate from soulforge import ( decompile, apply_initial_patches, apply_soulforge_patches, recompile, unzipbtw, copyinitialreobfuscatedfiles, rezipbtw, apply_mod_patches, reset_logger, copytree, ) print "=============================== Soulforge Setup Start =====================================" print "Decompiling" decompile(mcp_dir, soulforge_dir) print "Applying patches" apply_initial_patches(mcp_dir, soulforge_dir, os.path.join(mcp_dir, "src"), True) os.chdir(mcp_dir) updatemd5(None, True, False, False) reset_logger() os.chdir(soulforge_dir) apply_soulforge_patches(mcp_dir, soulforge_dir, os.path.join(mcp_dir, "src"), True) copytree(os.path.join(soulforge_dir, "src", "minecraft"), os.path.join(mcp_dir, "src", "minecraft")) copytree(os.path.join(soulforge_dir, "src", "common"), os.path.join(mcp_dir, "src", "minecraft")) copytree(os.path.join(soulforge_dir, "src", "minecraft_server"), os.path.join(mcp_dir, "src", "minecraft_server")) copytree(os.path.join(soulforge_dir, "src", "common"), os.path.join(mcp_dir, "src", "minecraft_server")) print "Copy external libraries" copytree(os.path.join(soulforge_dir, "lib"), os.path.join(mcp_dir, "lib")) os.chdir(mcp_dir) print "Recompiling" recompile(None, False, False) reset_logger() print "Reobfuscating" reobfuscate(None, False, False, False, False, False, False) reset_logger() print "Unzipping BTW" unzipbtw(soulforge_dir) print "Copying Reobfuscated Files" copyinitialreobfuscatedfiles(soulforge_dir, mcp_dir) print "Rezipping Files" rezipbtw(soulforge_dir) updatemd5(None, True, False, False) reset_logger() os.chdir(soulforge_dir) copytree(os.path.join(mcp_dir, "src"), os.path.join(mcp_dir, "src_base")) apply_mod_patches(mcp_dir, soulforge_dir, os.path.join(mcp_dir, "src"), True) print "Setup workspace" if os.path.isdir(os.path.join(mcp_dir, "eclipse")): shutil.rmtree(os.path.join(mcp_dir, "eclipse")) copytree(os.path.join(soulforge_dir, "addondev", "tmpworkspace"), os.path.join(mcp_dir, "eclipse")) print "=============================== Soulforge Setup Finished ================================="
def soulforge_main(soulforge_dir, mcp_dir): sys.path.append(mcp_dir) from runtime.updatemd5 import updatemd5 from runtime.reobfuscate import reobfuscate from soulforge import decompile, apply_initial_patches, apply_soulforge_patches, recompile, unzipbtw, copyinitialreobfuscatedfiles, rezipbtw, apply_mod_patches, reset_logger, copytree print '=============================== Soulforge Setup Start =====================================' print 'Decompiling' decompile(mcp_dir, soulforge_dir) print 'Applying patches' apply_initial_patches(mcp_dir, soulforge_dir, os.path.join(mcp_dir, 'src'), True) os.chdir(mcp_dir) updatemd5(None, True, False, False) reset_logger() os.chdir(soulforge_dir) apply_soulforge_patches(mcp_dir, soulforge_dir, os.path.join(mcp_dir, 'src'), True) copytree(os.path.join(soulforge_dir, 'src', 'minecraft'), os.path.join(mcp_dir, 'src', 'minecraft')) copytree(os.path.join(soulforge_dir, 'src', 'common'), os.path.join(mcp_dir, 'src', 'minecraft')) copytree(os.path.join(soulforge_dir, 'src', 'minecraft_server'), os.path.join(mcp_dir, 'src', 'minecraft_server')) copytree(os.path.join(soulforge_dir, 'src', 'common'), os.path.join(mcp_dir, 'src', 'minecraft_server')) print 'Copy external libraries' copytree(os.path.join(soulforge_dir, 'lib'), os.path.join(mcp_dir, 'lib')) os.chdir(mcp_dir) print 'Recompiling' recompile(None, False, False) reset_logger() print 'Reobfuscating' reobfuscate(None, False, False, False, False, False, False) reset_logger() print 'Unzipping BTW' unzipbtw(soulforge_dir) print 'Copying Reobfuscated Files' copyinitialreobfuscatedfiles(soulforge_dir, mcp_dir) print 'Rezipping Files' rezipbtw(soulforge_dir) updatemd5(None, True, False, False) reset_logger() os.chdir(soulforge_dir) copytree(os.path.join(mcp_dir, 'src'), os.path.join(mcp_dir, 'src_base')) apply_mod_patches(mcp_dir, soulforge_dir, os.path.join(mcp_dir, 'src'), True) print 'Setup workspace' if os.path.isdir(os.path.join(mcp_dir, 'eclipse')): shutil.rmtree(os.path.join(mcp_dir, 'eclipse')) copytree(os.path.join(soulforge_dir, 'addondev', 'tmpworkspace'), os.path.join(mcp_dir, 'eclipse')) print '=============================== Soulforge Setup Finished ================================='
def bop_main(bop_dir, mcp_dir): sys.path.append(mcp_dir) from runtime.reobfuscate import reobfuscate from bop import copytree, reset_logger, recompile, copyreobfuscatedfiles, unzipandcopybtw, movetodist, packagedist, cleanup from update_binary_patches import updatepatches print '=============================== Build Biomes O Plenty Start =====================================' print 'Copying BOP Files' copytree(os.path.join(bop_dir, 'src', 'minecraft'), os.path.join(mcp_dir, 'src', 'minecraft')) copytree(os.path.join(bop_dir, 'src', 'common'), os.path.join(mcp_dir, 'src', 'minecraft')) copytree(os.path.join(bop_dir, 'src', 'minecraft_server'), os.path.join(mcp_dir, 'src', 'minecraft_server')) copytree(os.path.join(bop_dir, 'src', 'common'), os.path.join(mcp_dir, 'src', 'minecraft_server')) print 'Copying BO Files' copytree(os.path.join(bop_dir, 'src_ores', 'minecraft'), os.path.join(mcp_dir, 'src', 'minecraft')) copytree(os.path.join(bop_dir, 'src_ores', 'common'), os.path.join(mcp_dir, 'src', 'minecraft')) copytree(os.path.join(bop_dir, 'src_ores', 'minecraft_server'), os.path.join(mcp_dir, 'src', 'minecraft_server')) copytree(os.path.join(bop_dir, 'src_ores', 'common'), os.path.join(mcp_dir, 'src', 'minecraft_server')) os.chdir(mcp_dir) reset_logger() print 'Recompiling' recompile(None, False, False) reset_logger() print 'Reobfuscating' reobfuscate(None, False, False, False, False, False, False) reset_logger() print 'Copying Reobfuscated Files' copyreobfuscatedfiles(bop_dir, mcp_dir) print 'Unzipping BTW & Copying Files' unzipandcopybtw(bop_dir) print 'Creating Binary Patches' updatepatches() print 'Moving Files To Temporary Dist Folder' movetodist(bop_dir) print 'Packaging Files' packagedist(bop_dir) print 'Cleaning Up' cleanup(bop_dir, mcp_dir) print '=============================== Build Biomes O Plenty Finished ================================='
def main(): global version_str global version_mc parser = OptionParser() parser.add_option("-m", "--mcp-dir", action="store", dest="mcp_dir", help="MCP Path", default=None) parser.add_option("-b", "--build", action="store", dest="build", help="Build number", default=None) parser.add_option( "-s", "--skipchangelog", action="store", dest="skip_changelog", help="Skip Changelog", default=False ) options, _ = parser.parse_args() build_num = 0 if not options.build is None: try: build_num = int(options.build) except: pass mcp_dir = os.path.join(forge_dir, "mcp") if not options.mcp_dir is None: mcp_dir = os.path.abspath(options.mcp_dir) elif os.path.isfile(os.path.join("..", "runtime", "commands.py")): mcp_dir = os.path.abspath("..") ret = 0 fml_dir = os.path.join(forge_dir, "fml") build_forge_dev(mcp_dir, forge_dir, fml_dir, build_num) if ret != 0: sys.exit(ret) print "=================================== Release Start =================================" error_level = 0 try: sys.path.append(mcp_dir) from runtime.reobfuscate import reobfuscate os.chdir(mcp_dir) reset_logger() reobfuscate(None, False, True, True, True, False) reset_logger() os.chdir(forge_dir) except SystemExit, e: print "Reobfusicate Exception: %d " % e.code error_level = e.code
def main(): global version_str global version_mc parser = OptionParser() parser.add_option('-m', '--mcp-dir', action='store', dest='mcp_dir', help='MCP Path', default=None) parser.add_option('-b', '--build', action='store', dest='build', help='Build number', default=None) parser.add_option('-s', '--skipchangelog', action='store_true', dest='skip_changelog', help='Skip Changelog', default=False) parser.add_option('-j', '--sign-jar', action='store', dest='sign_jar', help='Path to jar signer command', default=None) options, _ = parser.parse_args() build_num = 0 if not options.build is None: try: build_num = int(options.build) except: pass mcp_dir = os.path.join(forge_dir, 'mcp') if not options.mcp_dir is None: mcp_dir = os.path.abspath(options.mcp_dir) elif os.path.isfile(os.path.join('..', 'runtime', 'commands.py')): mcp_dir = os.path.abspath('..') ret = 0 fml_dir = os.path.join(forge_dir, 'fml') build_forge_dev(mcp_dir, forge_dir, fml_dir, build_num) if ret != 0: sys.exit(ret) print '=================================== Release Start =================================' error_level = 0 try: sys.path.append(mcp_dir) from runtime.reobfuscate import reobfuscate os.chdir(mcp_dir) reset_logger() reobfuscate(None, False, True, True, True, False) reset_logger() os.chdir(forge_dir) except SystemExit, e: print 'Reobfusicate Exception: %d ' % e.code error_level = e.code
def soulforge_main(soulforge_dir, mcp_dir): sys.path.append(mcp_dir) from runtime.reobfuscate import reobfuscate from soulforge import copytree, reset_logger, recompile, copyreobfuscatedfiles, unzipandcopybtw, movetodist, packagedist, cleanup from update_binary_patches import updatepatches print '=============================== Build Soulforge Start =====================================' print 'Copying Soulforge Files' copytree(os.path.join(soulforge_dir, 'src', 'minecraft'), os.path.join(mcp_dir, 'src', 'minecraft')) copytree(os.path.join(soulforge_dir, 'src', 'common'), os.path.join(mcp_dir, 'src', 'minecraft')) copytree(os.path.join(soulforge_dir, 'src', 'minecraft_server'), os.path.join(mcp_dir, 'src', 'minecraft_server')) copytree(os.path.join(soulforge_dir, 'src', 'common'), os.path.join(mcp_dir, 'src', 'minecraft_server')) copytree(os.path.join(soulforge_dir, 'srcbiomesoplenty', 'minecraft'), os.path.join(mcp_dir, 'src', 'minecraft')) copytree(os.path.join(soulforge_dir, 'srcbiomesoplenty', 'common'), os.path.join(mcp_dir, 'src', 'minecraft')) copytree(os.path.join(soulforge_dir, 'srcbiomesoplenty', 'minecraft_server'), os.path.join(mcp_dir, 'src', 'minecraft_server')) copytree(os.path.join(soulforge_dir, 'srcbiomesoplenty', 'common'), os.path.join(mcp_dir, 'src', 'minecraft_server')) copytree(os.path.join(soulforge_dir, 'srccustomores', 'minecraft'), os.path.join(mcp_dir, 'src', 'minecraft')) copytree(os.path.join(soulforge_dir, 'srccustomores', 'common'), os.path.join(mcp_dir, 'src', 'minecraft')) copytree(os.path.join(soulforge_dir, 'srccustomores', 'minecraft_server'), os.path.join(mcp_dir, 'src', 'minecraft_server')) copytree(os.path.join(soulforge_dir, 'srccustomores', 'common'), os.path.join(mcp_dir, 'src', 'minecraft_server')) os.chdir(mcp_dir) reset_logger() print 'Recompiling' recompile(None, False, False) reset_logger() print 'Reobfuscating' reobfuscate(None, False, False, False, False, False, False) reset_logger() print 'Copying Reobfuscated Files' copyreobfuscatedfiles(soulforge_dir, mcp_dir) print 'Unzipping BTW & Copying Files' unzipandcopybtw(soulforge_dir) print 'Creating Binary Patches' updatepatches() print 'Moving Files To Temporary Dist Folder' movetodist(soulforge_dir) print 'Packaging Files' packagedist(soulforge_dir) print 'Cleaning Up' cleanup(soulforge_dir, mcp_dir) print '=============================== Build Soulforge Finished ================================='
def soulforge_main(soulforge_dir, mcp_dir): sys.path.append(mcp_dir) from runtime.reobfuscate import reobfuscate from soulforge import copytree, reset_logger, recompile, copyreobfuscatedfiles, unzipandcopybtw, movetodist, cleanup from update_binary_patches import updatepatches print '=============================== Build Soulforge Start =====================================' print 'Copying Mod Files' copytree(os.path.join(mcp_dir, 'src'), os.path.join(mcp_dir, 'src_temp')) for dirname in os.walk(os.path.join(soulforge_dir, 'addondev', 'mods', '.')).next()[1]: if os.path.isdir(os.path.join(soulforge_dir, 'addondev', 'mods', dirname, 'src', 'minecraft')): copytree(os.path.join(soulforge_dir, 'addondev', 'mods', dirname, 'src', 'minecraft'), os.path.join(mcp_dir, 'src', 'minecraft')) if os.path.isdir(os.path.join(soulforge_dir, 'addondev', 'mods', dirname, 'src', 'common')): copytree(os.path.join(soulforge_dir, 'addondev', 'mods', dirname, 'src', 'common'), os.path.join(mcp_dir, 'src', 'minecraft')) copytree(os.path.join(soulforge_dir, 'addondev', 'mods', dirname, 'src', 'common'), os.path.join(mcp_dir, 'src', 'minecraft_server')) if os.path.isdir(os.path.join(soulforge_dir, 'addondev', 'mods', dirname, 'src', 'minecraft_server')): copytree(os.path.join(soulforge_dir, 'addondev', 'mods', dirname, 'src', 'minecraft_server'), os.path.join(mcp_dir, 'src', 'minecraft_server')) os.chdir(mcp_dir) reset_logger() print 'Recompiling' recompile(None, False, False) reset_logger() print 'Reobfuscating' reobfuscate(None, False, False, False, False, False, False) reset_logger() print 'Copying Reobfuscated Files' copyreobfuscatedfiles(soulforge_dir, mcp_dir) print 'Unzipping BTW & Copying Files' unzipandcopybtw(soulforge_dir) print 'Creating Binary Patches' updatepatches() print 'Moving Files To Temporary Dist Folder' movetodist(soulforge_dir) print 'Cleaning Up' cleanup(soulforge_dir, mcp_dir) print '=============================== Build Soulforge Finished ================================='
def main(): global version_str major_num = 0 build_num = 0 revision_num = 0 shouldBuild = 0 if len(sys.argv) > 1: try: major_num = int(sys.argv[1]) build_num = int(sys.argv[2]) revision_num = int(sys.argv[3]) except: pass if len(sys.argv) > 4: try: shouldBuild = str2bool(sys.argv[4]) except: pass ret = 0 if shouldBuild: ret = build(major_num, build_num, revision_num) else: print 'Skipping Build Process...' if ret != 0: sys.exit(ret) print '============================= Release Start (%d.%d.%d) ============================' % (major_num, build_num, revision_num) error_level = 0 try: os.chdir(mcp_dir) reset_logger() print 'reobf start' reobfuscate(None, False, True, True, True, False, False) print 'reobf end' reset_logger() os.chdir(forge_dir) except SystemExit, e: print 'Reobfusicate Exception: %d ' % e.code error_level = e.code
def main(): global version_str global version_mc parser = OptionParser() parser.add_option('-m', '--mcp-dir', action='store', dest='mcp_dir', help='MCP Path', default=None) parser.add_option('-b', '--build', action='store', dest='build', help='Build number', default=None) parser.add_option('-s', '--skipchangelog', action='store_true', dest='skip_changelog', help='Skip Changelog', default=False) parser.add_option('-j', '--sign-jar', action='store', dest='sign_jar', help='Path to jar signer command', default=None) options, _ = parser.parse_args() build_num = 0 if not options.build is None: try: build_num = int(options.build) except: pass mcp_dir = os.path.join(forge_dir, 'mcp') if not options.mcp_dir is None: mcp_dir = os.path.abspath(options.mcp_dir) ret = 0 fml_dir = os.path.join(forge_dir, 'fml') ret = build_forge_dev(mcp_dir, forge_dir, fml_dir, build_num) if ret != 0: sys.exit(ret) temp_dir = os.path.join(forge_dir, 'temp') src_dir = os.path.join(mcp_dir, 'src') reobf_dir = os.path.join(mcp_dir, 'reobf') client_dir = os.path.join(reobf_dir, 'minecraft') fml_dir = os.path.join(temp_dir, 'fml') print '=================================== Release Start =================================' fml = glob.glob(os.path.join(forge_dir, 'fml', 'target', 'fml-src-*.%d-*.zip' % build_num)) if not len(fml) == 1: if len(fml) == 0: print 'Missing FML source zip, should be named fml-src-*.zip inside ./fml/target/ created when running setup' else: print 'To many FML source zips found, we should only have one. Check the Forge Git for the latest FML version supported' sys.exit(1) if os.path.isdir(fml_dir): shutil.rmtree(fml_dir) print 'Extracting: %s' % os.path.basename(fml[0]) zf = zipfile.ZipFile(fml[0]) zf.extractall(temp_dir) zf.close() error_level = 0 try: sys.path.append(mcp_dir) from runtime.reobfuscate import reobfuscate os.chdir(mcp_dir) reset_logger() reobfuscate(None, False, True, True, True, False, False) reset_logger() os.chdir(forge_dir) except SystemExit, e: print 'Reobfusicate Exception: %d ' % e.code error_level = e.code
def main(): global version_str global version_mc parser = OptionParser() parser.add_option('-m', '--mcp-dir', action='store', dest='mcp_dir', help='MCP Path', default=None) parser.add_option('-b', '--build', action='store', dest='build', help='Build number', default=None) parser.add_option('-s', '--skipchangelog', action='store_true', dest='skip_changelog', help='Skip Changelog', default=False) parser.add_option('-j', '--sign-jar', action='store', dest='sign_jar', help='Path to jar signer command', default=None) options, _ = parser.parse_args() build_num = 0 if not options.build is None: try: build_num = int(options.build) except: pass mcp_dir = os.path.join(forge_dir, 'mcp') if not options.mcp_dir is None: mcp_dir = os.path.abspath(options.mcp_dir) ret = 0 fml_dir = os.path.join(forge_dir, 'fml') ret = build_forge_dev(mcp_dir, forge_dir, fml_dir, build_num) if ret != 0: sys.exit(ret) temp_dir = os.path.join(forge_dir, 'temp') src_dir = os.path.join(mcp_dir, 'src') reobf_dir = os.path.join(mcp_dir, 'reobf') client_dir = os.path.join(reobf_dir, 'minecraft') fml_dir = os.path.join(temp_dir, 'fml') print '=================================== Release Start =================================' fml = glob.glob( os.path.join(forge_dir, 'fml', 'target', 'fml-src-*.%d-*.zip' % build_num)) if not len(fml) == 1: if len(fml) == 0: print 'Missing FML source zip, should be named fml-src-*.zip inside ./fml/target/ created when running setup' else: print 'To many FML source zips found, we should only have one. Check the Forge Git for the latest FML version supported' sys.exit(1) if os.path.isdir(fml_dir): shutil.rmtree(fml_dir) print 'Extracting: %s' % os.path.basename(fml[0]) zf = zipfile.ZipFile(fml[0]) zf.extractall(temp_dir) zf.close() if os.path.isfile('MANIFEST.MF'): os.remove('MANIFEST.MF') fml_name = os.path.basename(fml[0]).replace('src', 'universal').replace( '.zip', '.jar').replace('-master.', '.') print('Extracting %s MANIFEST.MF' % fml_name) with closing( zipfile.ZipFile(os.path.join(forge_dir, 'fml', 'target', fml_name), mode='r')) as zip_in: with closing(open('MANIFEST.MF', 'wb')) as out: out.write(zip_in.read('META-INF/MANIFEST.MF')) error_level = 0 try: sys.path.append(mcp_dir) from runtime.reobfuscate import reobfuscate os.chdir(mcp_dir) reset_logger() reobfuscate(None, False, True, True, True, False, False) reset_logger() os.chdir(forge_dir) except SystemExit, e: print 'Reobfusicate Exception: %d ' % e.code error_level = e.code
def soulforge_main(soulforge_dir, mcp_dir): sys.path.append(mcp_dir) from runtime.reobfuscate import reobfuscate from soulforge import copytree, reset_logger, recompile, copyreobfuscatedfiles, unzipandcopybtw, movetodist, cleanup from update_binary_patches import updatepatches print '=============================== Build Soulforge Start =====================================' print 'Copying Mod Files' copytree(os.path.join(mcp_dir, 'src'), os.path.join(mcp_dir, 'src_temp')) for dirname in os.walk(os.path.join(soulforge_dir, 'addondev', 'mods', '.')).next()[1]: if os.path.isdir( os.path.join(soulforge_dir, 'addondev', 'mods', dirname, 'src', 'minecraft')): copytree( os.path.join(soulforge_dir, 'addondev', 'mods', dirname, 'src', 'minecraft'), os.path.join(mcp_dir, 'src', 'minecraft')) if os.path.isdir( os.path.join(soulforge_dir, 'addondev', 'mods', dirname, 'src', 'common')): copytree( os.path.join(soulforge_dir, 'addondev', 'mods', dirname, 'src', 'common'), os.path.join(mcp_dir, 'src', 'minecraft')) copytree( os.path.join(soulforge_dir, 'addondev', 'mods', dirname, 'src', 'common'), os.path.join(mcp_dir, 'src', 'minecraft_server')) if os.path.isdir( os.path.join(soulforge_dir, 'addondev', 'mods', dirname, 'src', 'minecraft_server')): copytree( os.path.join(soulforge_dir, 'addondev', 'mods', dirname, 'src', 'minecraft_server'), os.path.join(mcp_dir, 'src', 'minecraft_server')) os.chdir(mcp_dir) reset_logger() print 'Recompiling' recompile(None, False, False) reset_logger() print 'Reobfuscating' reobfuscate(None, False, False, False, False, False, False) reset_logger() print 'Copying Reobfuscated Files' copyreobfuscatedfiles(soulforge_dir, mcp_dir) print 'Unzipping BTW & Copying Files' unzipandcopybtw(soulforge_dir) print 'Creating Binary Patches' updatepatches() print 'Moving Files To Temporary Dist Folder' movetodist(soulforge_dir) print 'Cleaning Up' cleanup(soulforge_dir, mcp_dir) print '=============================== Build Soulforge Finished ================================='