Skip to content

Commit 620abcf

Browse files
build: add utility library for build scripts
1 parent 43200e5 commit 620abcf

1 file changed

Lines changed: 41 additions & 0 deletions

File tree

scripts/lib.py

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
from sys import stdout, stderr
2+
from enum import StrEnum, IntEnum
3+
from typing import NoReturn
4+
from os import getcwd, chdir, mkdir
5+
from pathlib import Path
6+
7+
class BuildOptions(StrEnum):
8+
WHEEL_DEBUG = "WHEEL_DEBUG"
9+
WHEEL_RELEASE = "WHEEL_RELEASE"
10+
11+
class StatusCode(IntEnum):
12+
SUCCESS = 0
13+
MISSING_ARGUMENT = 1
14+
ARGUMENT_NOT_FOUND = 2
15+
CHANGE_DIR_FAILED = 3
16+
CREATE_DIR_FAILED = 4
17+
SUBPROCESS_FAILED = 5
18+
19+
class BuildExtraOptions(StrEnum):
20+
REFESH_CACHE = "--refesh-cache"
21+
VERBOSE = "--verbose"
22+
23+
def cout(*msg: object) -> None:
24+
stdout.write(f" ".join(str(m) for m in msg) + "\n")
25+
stdout.flush()
26+
27+
def cerr(*msg: object) -> None:
28+
stderr.write(f" ".join(str(m) for m in msg) + "\n")
29+
stderr.flush()
30+
31+
def die(code: StatusCode) -> NoReturn:
32+
exit(code)
33+
34+
def working_dir() -> str:
35+
return getcwd()
36+
37+
def change_dir_to(parent: str | Path) -> None:
38+
chdir(parent)
39+
40+
def create_dir(dir: str | Path) -> None:
41+
mkdir(dir)

0 commit comments

Comments
 (0)