fix(builder): detect platform tracks independently
This commit is contained in:
@@ -55,7 +55,8 @@ make -f makefile.builder <target>
|
||||
|
||||
规则:
|
||||
|
||||
1. 项目有 DEB 产物的判据:`makefile.builder` 配方引用 `dpkg-deb`/`debuild` 或产出 `.deb`。
|
||||
1. 项目有 DEB 产物的判据:`makefile.builder` 配方以独立命令调用 `dpkg-deb`/`debuild` 或产出 `.deb`;
|
||||
不能把 `xcodebuild` 中包含的字符误判成 `debuild`。
|
||||
有镜像的判据:项目根存在 `Dockerfile`。
|
||||
Android 判据:配方产出 `.apk` / `.aab`。iOS 判据:配方产出 `.ipa`。
|
||||
拷贝发布判据:配方调用 `copy_artifact.sh`。`copy_artifact.sh` 是稳定入口,具体分发可由
|
||||
|
||||
@@ -228,7 +228,8 @@ def check_build_has_no_upload(report: Report, project: Path) -> None:
|
||||
|
||||
|
||||
def detect_deb_project(recipe_all: str, project: Path) -> bool:
|
||||
return ".deb" in recipe_all or "dpkg-deb" in recipe_all or "debuild" in recipe_all or any(project.glob("debian/*"))
|
||||
has_deb_command = re.search(r"(?<![A-Za-z0-9_-])(?:dpkg-deb|debuild)(?![A-Za-z0-9_-])", recipe_all)
|
||||
return ".deb" in recipe_all or has_deb_command is not None or any(project.glob("debian/*"))
|
||||
|
||||
|
||||
def check_deb_recipe(report: Report, project: Path, built_deb: Path | None) -> None:
|
||||
@@ -301,7 +302,11 @@ def check_mobile_recipe(
|
||||
report: Report, project: Path, *, kind: str, number: int, ext: str
|
||||
) -> None:
|
||||
target = "build"
|
||||
dry = run_make(project, "build")
|
||||
if kind == "ios":
|
||||
ios_probe = run_make(project, "ios")
|
||||
if not has_no_rule(ios_probe):
|
||||
target = "ios"
|
||||
dry = run_make(project, target)
|
||||
text = chr(10).join(clean_make_output(dry))
|
||||
problems = []
|
||||
if dry.returncode != 0:
|
||||
|
||||
Reference in New Issue
Block a user