def main(): print '=================================== Setup Start =================================' skipDecompile = len(sys.argv) > 1 and sys.argv[1] == '-skipdecompile' if not skipDecompile: if not download_ff(mcp_dir): sys.exit(1) if os.path.isdir(src_dir): shutil.rmtree(src_dir) try: pre_decompile() os.chdir(mcp_dir) # Conf JAD CSV -r -d -a -n -p -o -l -g decompile(None, False, False, True, True, False, True, False, False, False, False) reset_logger() os.chdir(forge_dir) post_decompile() except SystemExit, e: print 'Decompile Exception: %d ' % e.code raise e
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(): print '=================================== Minecraft Forge Setup Start =================================' if os.path.isdir(os.path.join(mcp_dir, 'conf')): shutil.rmtree(os.path.join(mcp_dir, 'conf')) copytree(os.path.join(forge_dir, 'conf'), os.path.join(mcp_dir, 'conf')) if os.path.isdir(src_dir): os.chdir(mcp_dir) cleanup(None, False) reset_logger() os.chdir(forge_dir) if os.path.isdir(src_dir): print 'Please make sure to backup your modified files, and say yes when it asks you to do cleanup.' sys.exit(1) if not download_ff(mcp_dir): sys.exit(1) try: pre_decompile() os.chdir(mcp_dir) # Conf JAD CSV -r -d -a -n -p -o -l -g decompile(None, False, False, True, True, False, True, False, False, False, False) reset_logger() os.chdir(forge_dir) post_decompile() except SystemExit, e: print 'Decompile Exception: %d ' % e.code raise e
def main(): global version_str 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) reset_logger() os.chdir(forge_dir) except SystemExit, e: print 'Reobfusicate Exception: %d ' % e.code error_level = e.code
def build(build_num=0): version = load_version(build_num) print '=================================== Build %d.%d.%d.%d Start =================================' % (version['major'], version['minor'], version['revision'], version['build']) if os.path.isdir(src_dir): shutil.rmtree(src_dir) inject_version(os.path.join(forge_dir, 'forge_common', 'net', 'minecraft', 'src', 'forge', 'ForgeHooks.java'), build_num) print 'src_work -> src' copytree(os.path.join(mcp_dir, 'src_work'), src_dir) print '\nforge_client -> minecraft' copytree(os.path.join(forge_dir, 'forge_client', 'src'), os.path.join(src_dir, 'minecraft'), -1) print '\nforge_server -> minecraft_server' copytree(os.path.join(forge_dir, 'forge_server', 'src'), os.path.join(src_dir, 'minecraft_server'), -1) print '\nforge_common -> minecraft' copytree(os.path.join(forge_dir, 'forge_common'), os.path.join(src_dir, 'minecraft'), -1) print '\nforge_common -> minecraft_server' copytree(os.path.join(forge_dir, 'forge_common'), os.path.join(src_dir, 'minecraft_server'), -1) print error_level = 0 try: os.chdir(mcp_dir) reset_logger() recompile(None) reset_logger() os.chdir(forge_dir) except SystemExit, e: print 'Recompile 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", 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 main(): print '=================================== Setup Start =================================' parser = argparse.ArgumentParser(description='Sets up Forge with MCP.') parser.add_argument('--skipdecompile', action='store_true', help='prevents decompilation during setup') parser.add_argument('--preventconfigclobber', action='store_true', help='prevents overwriting mcp.cfg during setup') args = parser.parse_args() skipDecompile = args.skipdecompile preventConfigClobber = args.preventconfigclobber # print "test args {} {}".format(args.skipdecompile, args.preventconfigclobber) if not preventConfigClobber: if os.path.isdir(mcp_included_conf): shutil.rmtree(mcp_included_conf) shutil.copytree(forge_mcp_conf, mcp_included_conf) print 'Successfully overwrote MCP config folder with the Forge config folder (including patches)! (If you want this to not happen, please use the --preventconfigclobber option!)' if not skipDecompile: if not download_ff(mcp_dir): sys.exit(1) if os.path.isdir(src_dir): shutil.rmtree(src_dir) try: pre_decompile() os.chdir(mcp_dir) # Conf JAD CSV -r -d -a -n -p -o -l -g decompile(None, False, False, True, True, False, True, False, False, False, False) reset_logger() os.chdir(forge_dir) post_decompile() except SystemExit, e: print 'Decompile Exception: %d ' % e.code raise e
def build(build_num=0): version = load_version(build_num) print '=================================== Build %d.%d.%d.%d Start =================================' % ( version['major'], version['minor'], version['revision'], version['build']) if os.path.isdir(src_dir): shutil.rmtree(src_dir) inject_version( os.path.join(forge_dir, 'forge_common', 'net', 'minecraft', 'src', 'forge', 'ForgeHooks.java'), build_num) print 'src_work -> src' copytree(os.path.join(mcp_dir, 'src_work'), src_dir) print '\nforge_client -> minecraft' copytree(os.path.join(forge_dir, 'forge_client', 'src'), os.path.join(src_dir, 'minecraft'), -1) print '\nforge_server -> minecraft_server' copytree(os.path.join(forge_dir, 'forge_server', 'src'), os.path.join(src_dir, 'minecraft_server'), -1) print '\nforge_common -> minecraft' copytree(os.path.join(forge_dir, 'forge_common'), os.path.join(src_dir, 'minecraft'), -1) print '\nforge_common -> minecraft_server' copytree(os.path.join(forge_dir, 'forge_common'), os.path.join(src_dir, 'minecraft_server'), -1) print error_level = 0 try: os.chdir(mcp_dir) reset_logger() recompile(None) reset_logger() os.chdir(forge_dir) except SystemExit, e: print 'Recompile 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() reobfuscate(None, False, True, True) reset_logger() os.chdir(forge_dir) except SystemExit, e: print "Reobfusicate Exception: %d " % e.code error_level = e.code
except SystemExit, e: print 'Decompile Exception: %d ' % e.code raise e if not os.path.isdir(src_dir): print 'Something went wrong, src folder not found at: %s' % src_dir sys.exit(1) cleanup_source(src_dir) setup_fml() os.chdir(mcp_dir) updatenames(None, True) reset_logger() updatemd5(None, True) reset_logger() os.chdir(forge_dir) base_dir = os.path.join(mcp_dir, 'src_base') work_dir = os.path.join(mcp_dir, 'src_work') if os.path.isdir(base_dir): shutil.rmtree(base_dir) if os.path.isdir(work_dir): shutil.rmtree(work_dir) print 'Setting up source directories' shutil.copytree(src_dir, base_dir) shutil.copytree(src_dir, work_dir)
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
apply_patches(os.path.join(fml_dir, 'patches', 'minecraft'), src_dir) if os.path.isdir(os.path.join(fml_dir, 'src', 'minecraft')): copytree(os.path.join(fml_dir, 'src', 'minecraft'), os.path.join(src_dir, 'minecraft')) if has_server: if os.path.isdir(os.path.join(fml_dir, 'patches', 'minecraft_server')): apply_patches(os.path.join(fml_dir, 'patches', 'minecraft_server'), src_dir) if os.path.isdir(os.path.join(fml_dir, 'src', 'minecraft_server')): copytree(os.path.join(fml_dir, 'src', 'minecraft_server'), os.path.join(src_dir, 'minecraft_server')) os.chdir(mcp_dir) updatenames(None, True) reset_logger() os.chdir(forge_dir) print 'Applying forge patches' if has_client: if os.path.isdir(os.path.join(forge_dir, 'patches', 'minecraft')): apply_patches(os.path.join(forge_dir, 'patches', 'minecraft'), src_dir) if os.path.isdir(os.path.join(forge_dir, 'src', 'minecraft')): copytree(os.path.join(forge_dir, 'src', 'minecraft'), os.path.join(src_dir, 'minecraft')) if has_server: if os.path.isdir(os.path.join(forge_dir, 'patches', 'minecraft_server')): apply_patches( os.path.join(forge_dir, 'patches', 'minecraft_server'),
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