From 64b0c5816a198d8be3ed440ec480f7d34db1ca01 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jelmer=20Vernoo=C4=B3?= Date: Tue, 13 Apr 2021 18:33:18 +0100 Subject: [PATCH] Allow 'minil dist' to return 0 when it failed. --- ognibuild/buildsystem.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/ognibuild/buildsystem.py b/ognibuild/buildsystem.py index 791fd2b..62ccfd9 100644 --- a/ognibuild/buildsystem.py +++ b/ognibuild/buildsystem.py @@ -24,7 +24,7 @@ import shlex from typing import Optional, Tuple import warnings -from . import shebang_binary, UnidentifiedError +from . import shebang_binary, UnidentifiedError, DetailedFailure from .dist_catcher import DistCatcher from .outputs import ( BinaryOutput, @@ -44,7 +44,7 @@ from .requirements import ( GoRequirement, GoPackageRequirement, ) -from .fix_build import run_with_build_fixers +from .fix_build import run_with_build_fixers, find_build_failure_description from .session import which @@ -1468,7 +1468,14 @@ class PerlBuildTiny(BuildSystem): self.setup(session, fixers) with DistCatcher([session.external_path('.')]) as dc: if self.minilla: - run_with_build_fixers(session, ["minil", "dist"], fixers) + lines = run_with_build_fixers(session, ["minil", "dist"], fixers) + # minil seems to return 0 even if it didn't produce a tarball :( + if not dc.find_files(): + match, error = find_build_failure_description(lines) + if error: + raise DetailedFailure(0, ["minil", "dist"], error) + else: + raise UnidentifiedError(0, ["minil", "dist"], lines, match) else: try: run_with_build_fixers(session, ["./Build", "dist"], fixers)