F.E.I.S/utils/make_windows_release.py

43 lines
1.1 KiB
Python
Raw Normal View History

2022-12-27 22:58:58 +01:00
"""Run this after you've compiled FEIS"""
import argparse
import datetime
2022-12-27 22:58:58 +01:00
import shutil
import subprocess
from pathlib import Path
2023-07-28 13:48:55 +02:00
git_version = subprocess.check_output(["git", "describe", "--tags"]).strip().decode("utf-8")
2022-12-27 22:58:58 +01:00
parser = argparse.ArgumentParser()
2023-07-28 13:48:55 +02:00
parser.add_argument("--release-version", default=git_version)
parser.add_argument("--timestamp", action="store_true")
2022-12-27 22:58:58 +01:00
parser.add_argument("--build-dir", type=Path, default=Path("build"))
args = parser.parse_args()
2023-07-28 13:48:55 +02:00
release_folder = Path(f"FEIS-{args.release_version}")
2022-12-27 23:18:59 +01:00
if release_folder.exists():
shutil.rmtree(release_folder)
release_folder.mkdir()
2022-12-27 22:58:58 +01:00
feis_exe = args.build_dir / "FEIS.exe"
shutil.copy(feis_exe, release_folder)
2022-12-27 23:14:07 +01:00
shutil.copytree("assets", release_folder / "assets", dirs_exist_ok=True)
2022-12-27 22:58:58 +01:00
subprocess.run([
"python",
"utils/copy_dependencies.py",
"-d", release_folder,
"-f", release_folder / "FEIS.exe"
])
2023-07-28 13:48:55 +02:00
archive_name = release_folder
if args.timestamp:
timestamp = datetime.datetime.utcnow().strftime("%Y%m%dT%H%M%S")
2023-07-28 13:48:55 +02:00
archive_name = f"{release_folder}+{timestamp}"
shutil.make_archive(
archive_name,
"zip",
".",
release_folder
)