Description:
Add Windows support to build script.
Commit status:
[Not Reviewed]
References:
Comments:
0 Commit comments 0 Inline Comments
Unresolved TODOs:
There are no unresolved TODOs
Add another comment

r23:d555a2b5d56c -

1 NO CONTENT: modified file, binary diff hidden
NO CONTENT: modified file, binary diff hidden
@@ -9,20 +9,46
9 macos_template = "isometric-park-fna/bin/isometric-park-template.app"
9 macos_template = "isometric-park-fna/bin/isometric-park-template.app"
10 windows_template = "isometric-park-fna/bin/isometric-park-windows-template"
10 windows_template = "isometric-park-fna/bin/isometric-park-windows-template"
11
11
12 sourcedir = "isometric-park-fna/bin/Release"
12
13
13 def make_windows(suffix="new"):
14 def make_windows(suffix="new"):
14 pass
15 new_name = windows_template[:-9] + "-" + suffix
16
17 # shutil.rmtree(new_name)
18 shutil.copytree(windows_template, new_name)
19
20 for (dirpath, _dirname, files) in os.walk(sourcedir):
21 for file in files:
22 source = pathlib.Path(dirpath) / file
23 destination = pathlib.Path(new_name) / os.path.relpath(sourcedir, dirpath) / pathlib.Path(file)
24
25 print(source, destination)
15
26
27 if source.is_dir() and not destination.exists():
28 shutil.copytree(source, destination)
29 else:
30 shutil.copy2(source, destination)
31
32 shutil.move(pathlib.Path(new_name) / "isometric-park-fna.exe",
33 pathlib.Path(new_name) / "isometric-park.exe")
34
35 with zipfile.ZipFile(new_name + ".zip", "w",
36 #Windows doesn't natively support other formats
37 #(besides uncompressed) in my testing:
38 compression=zipfile.ZIP_DEFLATED) as f:
39 for (dirpath, _dirname, files) in os.walk(sourcedir):
40 for file in files:
41 source = pathlib.Path(dirpath) / file
42 f.write(source)
16
43
17 def make_macos(suffix="new"):
44 def make_macos(suffix="new"):
18
45
19 new_name = macos_template[:-4] + "-" + suffix + ".app" + "/"
46 new_name = macos_template[:-4] + "-" + suffix + ".app" + "/"
20 dirpath = "isometric-park-fna/bin/Release"
21
47
22 shutil.rmtree(new_name)
48 # shutil.rmtree(new_name)
23 shutil.copytree(macos_template, new_name)
49 shutil.copytree(macos_template, new_name)
24
50
25 for (dirpath, _dirname, files) in os.walk(dirpath):
51 for (dirpath, _dirname, files) in os.walk(sourcedir):
26 for file in files:
52 for file in files:
27 source = pathlib.Path(dirpath) / file
53 source = pathlib.Path(dirpath) / file
28 destination = pathlib.Path(new_name) / "Contents" / "Resources" / pathlib.Path(file)
54 destination = pathlib.Path(new_name) / "Contents" / "Resources" / pathlib.Path(file)
@@ -34,19 +60,24
34 else:
60 else:
35 shutil.copy2(source, destination)
61 shutil.copy2(source, destination)
36
62
37
38 shutil.move(pathlib.Path(new_name) / "Contents" / "Resources" / "isometric-park-fna.exe",
63 shutil.move(pathlib.Path(new_name) / "Contents" / "Resources" / "isometric-park-fna.exe",
39 pathlib.Path(new_name) / "Contents" / "Resources" / "isometric-park.exe")
64 pathlib.Path(new_name) / "Contents" / "Resources" / "isometric-park.exe")
40
65
41
66
42 def main():
67 def main():
43 print(_, command, arg)
44 if len(sys.argv) > 1:
68 if len(sys.argv) > 1:
45 command = sys.argv[1]
69 command = sys.argv[1]
46
70
47 if command == "macos":
71 if command.lower() == "macos":
48 if len(sys.argv) > 2:
72 if len(sys.argv) > 2:
49 make_macos(sys.argv[2])
73 make_macos(sys.argv[2])
74 else:
75 make_macos()
76 elif command.lower() in ("win", "windows"):
77 if len(sys.argv) > 2:
78 make_windows(sys.argv[2])
79 else:
80 make_windows()
50 else:
81 else:
51 pass
82 pass
52
83
You need to be logged in to leave comments. Login now