-
-
Notifications
You must be signed in to change notification settings - Fork 15
/
Copy pathrun.py
110 lines (84 loc) · 3.29 KB
/
run.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
import os
import sys
def dev(build_translations=False):
"""Run the app in development mode."""
print(f"Running in dev mode. Translations: {build_translations}")
print(" # === Build the windows from the .ui file ===")
os.system("chmod +x ./_scripts/build-windows.sh")
os.system("./_scripts/build-windows.sh")
if build_translations:
print("# === Build translations ===")
os.system("./_scripts/build-translations.sh")
print("# === Start === ")
# Captura todos os argumentos extras após "dev"
extra_args = " ".join(sys.argv[2:])
os.system(f"python -m zapzap {extra_args}")
def preview(build_translations=False):
"""Run the app in preview mode."""
SDK_VERSION = 6.8
print("Starting app in preview mode...")
print(" # === Build the windows from the .ui file ===")
os.system("chmod +x ./_scripts/build-windows.sh")
os.system("./_scripts/build-windows.sh")
if build_translations:
print("# === Build translations ===")
os.system("./_scripts/build-translations.sh")
print("Add flathub remote")
os.system(
"flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo"
)
print("# === Install SDK === ")
os.system(
f"flatpak install --user --assumeyes flathub "
f"org.kde.Platform//{SDK_VERSION} org.kde.Sdk//{SDK_VERSION} "
f"com.riverbankcomputing.PyQt.BaseApp//{SDK_VERSION}"
)
print("# === Build === ")
os.system(
"flatpak-builder build com.rtosta.zapzap.yaml --force-clean --ccache --install --user"
)
print("# === Start === ")
extra_args = " ".join(sys.argv[2:])
os.system(f"flatpak run com.rtosta.zapzap {extra_args}")
def build():
"""Build the application for specified targets."""
build_appimage = "--appimage" in sys.argv
build_flatpak = "--flatpak-onefile" in sys.argv
if build_appimage:
if len(sys.argv) < 4:
print("Error: You must specify a version when building AppImage.")
print("Usage: python run.py build --appimage <version>")
return
version = sys.argv[3]
print(f"Building AppImage version {version}...")
os.system(f"./_scripts/build-appimage.sh {version}")
if build_flatpak:
print("Building Flatpak Onefile...")
if not build_appimage and not build_flatpak:
print("No build target specified. Use --appimage <version> or --flatpak-onefile.")
def main():
"""Main entry point for the script."""
commands = {
"dev": dev,
"preview": preview,
"build": build,
}
if len(sys.argv) < 2 or sys.argv[1] not in commands:
print(
"Usage: python run.py [dev|preview|build] [--build-translations | --appimage | --flatpak-onefile]")
return
build_translations = "--build-translations" in sys.argv
if sys.argv[1] == "dev":
dev(build_translations)
else:
commands[sys.argv[1]]()
if __name__ == "__main__":
main()
"""
Exemplo de uso:
Sem build das traduções: python run.py dev
Com build traduções: python run.py dev --build-translations
AppImage: python run.py build --appimage TAG_RELEASE
-> python run.py build --appimage 6.0
Obs.: Ao construir os arquivos das traduções, a data e hora são atualizadas.
"""