-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathinstaller.py
More file actions
executable file
·61 lines (50 loc) · 1.73 KB
/
installer.py
File metadata and controls
executable file
·61 lines (50 loc) · 1.73 KB
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
#!/usr/bin/env python3
"""
Instalador Text2D — usa o instalador unificado do monorepo.
Uso:
./install.sh text2d
python3 scripts/installer.py
gamedev-install text2d
"""
from __future__ import annotations
import argparse
import sys
from pathlib import Path
# Setup path para gamedev_shared
_script_dir = Path(__file__).resolve().parent
_project_root = _script_dir.parent
_monorepo_root = _project_root.parent
_shared_src = _monorepo_root / "Shared" / "src"
if _shared_src.is_dir() and str(_shared_src) not in sys.path:
sys.path.insert(0, str(_shared_src))
from gamedev_shared.installer.unified import install_tool
def main() -> int:
parser = argparse.ArgumentParser(
description="Instalador Text2D",
epilog="""
Forma oficial: ./install.sh text2d
Exemplos:
./install.sh text2d
python3 scripts/installer.py --force
""",
)
parser.add_argument("--prefix", default="/usr/local", help="Diretório de instalação")
parser.add_argument("--python", default=None, help="Comando Python")
parser.add_argument("--use-venv", action="store_true", help="Usar virtualenv")
parser.add_argument("--skip-deps", action="store_true", help="Pular dependências")
parser.add_argument("--skip-models", action="store_true", help="Pular modelos")
parser.add_argument("--force", action="store_true", help="Forçar reinstalação")
args = parser.parse_args()
success = install_tool(
"text2d",
monorepo=_monorepo_root,
install_prefix=Path(args.prefix),
python_cmd=args.python,
use_venv=args.use_venv,
skip_deps=args.skip_deps,
skip_models=args.skip_models,
force=args.force,
)
return 0 if success else 1
if __name__ == "__main__":
sys.exit(main())