6 base_dir = os.path.dirname(__file__)
7 subprocess.call('Devenv "' + os.path.join(base_dir, 'mmo.sln') + '" /build release', shell=True)
9 version_header = open(os.path.join(base_dir, 'client/version.hpp')).read()
10 ver_major = re.search("#define MMO_VERSION_MAJOR\s+(\d+)", version_header).group(1)
11 ver_minor = re.search("#define MMO_VERSION_MINOR\s+(\d+)", version_header).group(1)
12 ver_revision = re.search("#define MMO_VERSION_REVISION\s+(\d+)", version_header).group(1)
14 ver_text = ver_major + "." + ver_minor + "." + ver_revision
16 build_version_path = os.path.join(base_dir, 'client/buildversion.hpp')
18 if os.path.exists(build_version_path):
19 build_version_header = open(build_version_path).read()
20 ver_build = re.search("#define MMO_VERSION_BUILD\s+(\d+)", build_version_header).group(1)
21 ver_text += "_" + ver_build
23 zip_path = os.path.join(base_dir, "mmo-" + ver_text + ".zip")
24 zip = zipfile.ZipFile(zip_path, 'w', zipfile.ZIP_DEFLATED)
26 bin_path = os.path.join(base_dir, 'client/bin/')
29 zip.write(os.path.join(base_dir, 'release/client.exe'), 'client.exe')
31 zip.write(os.path.join(base_dir, 'readme.txt'), 'readme.txt')
32 zip.write(os.path.join(base_dir, 'license.txt'), 'license.txt')
33 zip.write(os.path.join(base_dir, 'mmd.txt'), 'mmd.txt')
35 zip.write(os.path.join(base_dir, 'server/config.json'), 'server/config.json')
37 zip.write(os.path.join(bin_path, 'config.json'), 'config.json')
38 zip.write(os.path.join(bin_path, 'server/server.exe'), 'server/server.exe')
40 for root, dirs, files in os.walk(os.path.join(bin_path, 'cards')):
42 absolute_path = os.path.join(root, file)
43 relative_path = os.path.relpath(absolute_path, bin_path)
44 zip.write(absolute_path, relative_path)
46 for root, dirs, files in os.walk(os.path.join(bin_path, 'resources')):
48 absolute_path = os.path.join(root, file)
49 relative_path = os.path.relpath(absolute_path, bin_path)
50 zip.write(absolute_path, relative_path)