diff options
author | Xavier Claessens <xavier.claessens@collabora.com> | 2018-08-10 10:32:28 -0400 |
---|---|---|
committer | Xavier Claessens <xavier.claessens@collabora.com> | 2018-09-04 09:01:39 -0400 |
commit | ef231d3edd01df4d3e0f55ccc6f1c683f1bb112f (patch) | |
tree | 4a9e4d341c7c67da4eafbb36c08cf84e50ce454c /mesonbuild/mlog.py | |
parent | b350c74386a3c0b7cd894ea589d3e399fd919515 (diff) | |
download | meson-ef231d3edd01df4d3e0f55ccc6f1c683f1bb112f.zip meson-ef231d3edd01df4d3e0f55ccc6f1c683f1bb112f.tar.gz meson-ef231d3edd01df4d3e0f55ccc6f1c683f1bb112f.tar.bz2 |
Add --fatal-meson-warnings command line option
This makes any warning message printed by meson raise an exception,
intended to be used by CI and developpers to easily catch deprecation
warnings and other potential issues.
Diffstat (limited to 'mesonbuild/mlog.py')
-rw-r--r-- | mesonbuild/mlog.py | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/mesonbuild/mlog.py b/mesonbuild/mlog.py index b8d3ccc..095b8fd 100644 --- a/mesonbuild/mlog.py +++ b/mesonbuild/mlog.py @@ -46,11 +46,13 @@ log_file = None log_fname = 'meson-log.txt' log_depth = 0 log_timestamp_start = None +log_fatal_warnings = False -def initialize(logdir): - global log_dir, log_file +def initialize(logdir, fatal_warnings=False): + global log_dir, log_file, log_fatal_warnings log_dir = logdir log_file = open(os.path.join(logdir, log_fname), 'w', encoding='utf8') + log_fatal_warnings = fatal_warnings def set_timestamp_start(start): global log_timestamp_start @@ -145,6 +147,7 @@ def log(*args, **kwargs): def _log_error(severity, *args, **kwargs): from .mesonlib import get_error_location_string from .environment import build_filename + from .mesonlib import MesonException if severity == 'warning': args = (yellow('WARNING:'),) + args elif severity == 'error': @@ -162,6 +165,10 @@ def _log_error(severity, *args, **kwargs): log(*args, **kwargs) + global log_fatal_warnings + if log_fatal_warnings: + raise MesonException("Fatal warnings enabled, aborting") + def error(*args, **kwargs): return _log_error('error', *args, **kwargs) |