diff options
Diffstat (limited to 'rola-devtools/scripts/build.py')
| -rw-r--r-- | rola-devtools/scripts/build.py | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/rola-devtools/scripts/build.py b/rola-devtools/scripts/build.py new file mode 100644 index 0000000..cd2ddf1 --- /dev/null +++ b/rola-devtools/scripts/build.py @@ -0,0 +1,38 @@ +#!/usr/bin/env python3 + +import subprocess +import sys +from pathlib import Path + +script_dir = Path(__file__).resolve().parent +root_dir = script_dir.parent.parent + +steps = [ + ("cargo check --workspace", [ + "cargo", "check", "--workspace", + ]), + ("cargo clippy --workspace -- -D warnings", [ + "cargo", "clippy", "--workspace", "--", "-D", "warnings", + ]), + ("cargo build --workspace --release", [ + "cargo", "build", "--workspace", "--release", + ]), + ("dotnet restore", [ + "dotnet", "restore", "rola-desktop.sln", + ]), + ("dotnet build", [ + "dotnet", "build", "rola-desktop.sln", "--nologo", + ]), +] + +ok = True +for label, cmd in steps: + print(f"\nSTEP - \"{label}\": ", flush=True) + result = subprocess.run(cmd, cwd=root_dir) + if result.returncode != 0: + print(f" [FAILED] Failed (exit code {result.returncode})", flush=True) + ok = False + break + print(f" [SUCCESS] Passed", flush=True) + +sys.exit(0 if ok else 1) |
