#shell #scons #verbosity
#оболочка #scons #детализация
Вопрос:
Учитывая, что мой конструктор Ada использует функцию ada_action
, которая зарегистрирована
static_obj.action(suffix, Action(ada_action, print_action_string)
который в настоящее время вызывает env.Execute()
и далее
def print_action_string(target, source, env):
print env.subst(env["ADACOMSTR"], target=target, source=source)
Как я могу управлять уровнями детализации, чтобы, если env["ADACOMSTR"]
определено, оно должно вызывать print_action_string
и запрещать повторение команды оболочки, выполняемой в данный момент env.Execute()
?
Ответ №1:
Обычно вам не нужно использовать Execute() в действии builder. Возможно, если вы поделитесь этим фрагментом кода, это может помочь. Вы также можете изучить возможность использования генератора, в зависимости от того, что именно вы ищете.
Комментарии:
1. Хорошо, я думаю, мне следует использовать собственные встроенные команды оболочки Python и повторить их вручную (когда в моем случае флаг
VERBOSE=on
) перед вызовом оболочки?2. Это звучит как разумный подход.