diff --git a/make/ci_dev_workshop.py b/make/ci_dev_workshop.py index 8515796..cc7bf50 100644 --- a/make/ci_dev_workshop.py +++ b/make/ci_dev_workshop.py @@ -352,14 +352,11 @@ def run_pboproject(addon: str, source_root: Path, output_dir: Path) -> None: "+O" if addon in obfuschatedList else "-O", ] else: - source = repo_root() / addon - fallback = output_dir / f"{addon}.pbo" - print( - "Mikero pboProject is not available; writing raw DEV PBO " - f"for {addon} at {fallback}" + raise RuntimeError( + "Mikero pboProject is required to build DEV Workshop PBOs. " + "The installed DePbo makepbo tool only creates a raw archive and " + "must not be published as a BRAF build." ) - write_raw_pbo(addon, source, fallback) - return print(f"::group::Building {addon}") print(" ".join(cmd)) @@ -467,12 +464,14 @@ def main() -> int: source_root = Path(args.source_root).resolve() elif args.dry_run: source_root = (cache_dir / "mikero-source" / "braf").resolve() - elif not (shutil.which("pboproject") or shutil.which("pboProject")): - source_root = root - else: + elif shutil.which("pboproject") or shutil.which("pboProject"): source_root_addons = requested_addons if requested_addons is not None else addons source_root = prepare_mikero_source_root(root, cache_dir, source_root_addons).resolve() - + else: + raise RuntimeError( + "Mikero pboProject is not installed. Refusing to stage or publish " + "raw PBO archives as a DEV Workshop build." + ) current_hashes = {addon: addon_digest(root / addon) for addon in addons} manifest = load_manifest(manifest_path) manifest_addons = manifest.setdefault("addons", {})