add release script
This commit is contained in:
+12
-1
@@ -3,6 +3,7 @@
|
|||||||
|
|
||||||
# Build products
|
# Build products
|
||||||
newserv
|
newserv
|
||||||
|
newserv.exe
|
||||||
src/Revision.cc
|
src/Revision.cc
|
||||||
|
|
||||||
# CMake files
|
# CMake files
|
||||||
@@ -37,12 +38,22 @@ system/teams/*.json
|
|||||||
# Files fuzziqersoftware uses that don't make sense to be committed to the main
|
# Files fuzziqersoftware uses that don't make sense to be committed to the main
|
||||||
# repository
|
# repository
|
||||||
*.dec
|
*.dec
|
||||||
|
*.WIP-s
|
||||||
files
|
files
|
||||||
make_release.py
|
|
||||||
notes-private
|
notes-private
|
||||||
old-khyller
|
old-khyller
|
||||||
old-newserv
|
old-newserv
|
||||||
release
|
release
|
||||||
release.zip
|
release.zip
|
||||||
|
all-quests
|
||||||
system/dol
|
system/dol
|
||||||
system/patch-bb/data
|
system/patch-bb/data
|
||||||
|
system/client-functions/Debug-Private
|
||||||
|
system/config.2.json
|
||||||
|
system/ep3/banners
|
||||||
|
system/ep3/cardtex
|
||||||
|
system/ep3/cardtex-trial
|
||||||
|
system/players
|
||||||
|
system/quests/includes
|
||||||
|
system/quests/private
|
||||||
|
.vscode
|
||||||
|
|||||||
Executable
+67
@@ -0,0 +1,67 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
import os
|
||||||
|
import shutil
|
||||||
|
import subprocess
|
||||||
|
import sys
|
||||||
|
from typing import Callable
|
||||||
|
|
||||||
|
|
||||||
|
def filter_directory(dir: str, predicate: Callable[[str], bool]):
|
||||||
|
for filename in os.listdir(dir):
|
||||||
|
if not predicate(filename):
|
||||||
|
path = os.path.join(dir, filename)
|
||||||
|
if os.path.isfile(path):
|
||||||
|
os.remove(path)
|
||||||
|
else:
|
||||||
|
shutil.rmtree(path)
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
print("Deleting existing release directory")
|
||||||
|
if os.path.exists("release"):
|
||||||
|
shutil.rmtree("release")
|
||||||
|
if os.path.exists("release.zip"):
|
||||||
|
os.remove("release.zip")
|
||||||
|
os.mkdir("release")
|
||||||
|
|
||||||
|
print("Adding executables")
|
||||||
|
shutil.copy("newserv", "release/newserv-macos")
|
||||||
|
shutil.copy("newserv.exe", "release/newserv-windows.exe")
|
||||||
|
shutil.copy("README.md", "release/README.md")
|
||||||
|
|
||||||
|
print("Adding system directory")
|
||||||
|
shutil.copytree("system", "release/system")
|
||||||
|
|
||||||
|
print("Removing instance-based and temporary files")
|
||||||
|
filter_directory(
|
||||||
|
"release/system",
|
||||||
|
lambda filename: (not filename.endswith(".json"))
|
||||||
|
or filename == "config.example.json",
|
||||||
|
)
|
||||||
|
filter_directory(
|
||||||
|
"release/system/ep3", lambda filename: not filename.startswith("cardtex")
|
||||||
|
)
|
||||||
|
filter_directory(
|
||||||
|
"release/system/client-functions",
|
||||||
|
lambda filename: filename not in ("Debug-Private", "FastLoading", "notes.txt"),
|
||||||
|
)
|
||||||
|
filter_directory("release/system/dol", lambda filename: False)
|
||||||
|
filter_directory("release/system/ep3/banners", lambda filename: False)
|
||||||
|
filter_directory("release/system/ep3/battle-records", lambda filename: False)
|
||||||
|
filter_directory("release/system/licenses", lambda filename: False)
|
||||||
|
filter_directory("release/system/players", lambda filename: False)
|
||||||
|
filter_directory(
|
||||||
|
"release/system/quests",
|
||||||
|
lambda filename: filename not in ("private", "includes"),
|
||||||
|
)
|
||||||
|
filter_directory("release/system/teams", lambda filename: filename == "base.json")
|
||||||
|
subprocess.check_call(["find", "release", "-name", ".DS_Store", "-delete"])
|
||||||
|
subprocess.check_call(["find", "release", "-name", "*.WIP-s", "-delete"])
|
||||||
|
|
||||||
|
print("Setting up configuration")
|
||||||
|
os.rename("release/system/config.example.json", "release/system/config.json")
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
sys.exit(main())
|
||||||
@@ -1 +0,0 @@
|
|||||||
ItemCT-pc-v2.afs
|
|
||||||
Reference in New Issue
Block a user