From d86de6c98e435d31bfdebc50d2db6d4d4048be40 Mon Sep 17 00:00:00 2001 From: "Andrii Doroshenko (Xrayez)" Date: Mon, 27 Jul 2020 21:00:26 +0300 Subject: SCons: Refactor running commands through builders A new `env.Run` method is added which allows to control the verbosity of builders output automatically depending on whether the "verbose" option is set. It also allows to optionally run any SCons commands in a subprocess using the existing `run_in_subprocess` method, unifying the interface. `Action` objects wrap all builder functions to include a short build message associated with any action. Notably, this removes quite verbose output generated by `make_doc_header` and `make_editor_icons_action` builders. --- editor/SCsub | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) (limited to 'editor/SCsub') diff --git a/editor/SCsub b/editor/SCsub index 651dd5fffd..a976c4ed12 100644 --- a/editor/SCsub +++ b/editor/SCsub @@ -7,7 +7,6 @@ env.editor_sources = [] import os import os.path import glob -from platform_methods import run_in_subprocess import editor_builders @@ -61,7 +60,11 @@ if env["tools"]: docs = sorted(docs) env.Depends("#editor/doc_data_compressed.gen.h", docs) - env.CommandNoCache("#editor/doc_data_compressed.gen.h", docs, run_in_subprocess(editor_builders.make_doc_header)) + env.CommandNoCache( + "#editor/doc_data_compressed.gen.h", + docs, + env.Run(editor_builders.make_doc_header, "Generating documentation header."), + ) path = env.Dir(".").abspath @@ -69,14 +72,18 @@ if env["tools"]: tlist = glob.glob(path + "/translations/*.po") env.Depends("#editor/editor_translations.gen.h", tlist) env.CommandNoCache( - "#editor/editor_translations.gen.h", tlist, run_in_subprocess(editor_builders.make_editor_translations_header) + "#editor/editor_translations.gen.h", + tlist, + env.Run(editor_builders.make_editor_translations_header, "Generating editor translations header."), ) # Documentation translations tlist = glob.glob(env.Dir("#doc").abspath + "/translations/*.po") env.Depends("#editor/doc_translations.gen.h", tlist) env.CommandNoCache( - "#editor/doc_translations.gen.h", tlist, run_in_subprocess(editor_builders.make_doc_translations_header) + "#editor/doc_translations.gen.h", + tlist, + env.Run(editor_builders.make_doc_translations_header, "Generating translations header."), ) # Fonts @@ -84,7 +91,11 @@ if env["tools"]: flist.extend(glob.glob(path + "/../thirdparty/fonts/*.otf")) flist.sort() env.Depends("#editor/builtin_fonts.gen.h", flist) - env.CommandNoCache("#editor/builtin_fonts.gen.h", flist, run_in_subprocess(editor_builders.make_fonts_header)) + env.CommandNoCache( + "#editor/builtin_fonts.gen.h", + flist, + env.Run(editor_builders.make_fonts_header, "Generating builtin fonts header."), + ) env.add_source_files(env.editor_sources, "*.cpp") -- cgit v1.2.3