in lib/ramble/ramble/main.py [0:0]
def setup_main_options(args):
"""Configure ramble globals based on the basic options."""
# Assign a custom function to show warnings
warnings.showwarning = send_warning_to_tty
# Set up environment based on args.
tty.set_verbose(args.verbose)
tty.set_debug(args.debug)
tty.set_stacktrace(args.stacktrace)
# debug must be set first so that it can even affect behavior of
# errors raised by ramble.config.
if args.debug:
ramble.error.debug = args.debug
spack.util.debug.register_interrupt_handler()
ramble.config.set("config:debug", True, scope="command_line")
spack.util.environment.tracing_enabled = True
if args.timestamp:
tty.set_timestamp(True)
# override lock configuration if passed on command line
if args.locks is not None:
if args.locks is False:
spack.util.lock.check_lock_safety(ramble.paths.prefix)
ramble.config.set("config:locks", args.locks, scope="command_line")
# override disable_passthrough configuration if passed on command line
if args.disable_passthrough:
ramble.config.set("config:disable_passthrough", True, scope="command_line")
if args.disable_logger:
ramble.config.set("config:disable_logger", True, scope="command_line")
logger.enabled = not ramble.config.get("config:disable_logger", False)
if args.disable_progress_bar:
ramble.config.set("config:disable_progress_bar", True, scope="command_line")
objects_to_mock = set()
if args.mock:
for obj in ramble.repository.ObjectTypes:
objects_to_mock.add(obj)
for obj in ramble.repository.ObjectTypes:
if hasattr(args, f"mock_{obj.name}") and getattr(args, f"mock_{obj.name}"):
objects_to_mock.add(obj)
mock_repositories(objects_to_mock)
# If the user asked for it, don't check ssl certs.
if args.insecure:
logger.warn("You asked for --insecure. Will NOT check SSL certificates.")
ramble.config.set("config:verify_ssl", False, scope="command_line")
# If the user asked for it allow env-vars to resolve in subprocess calls
if args.resolve_variables_in_subprocesses:
ramble.config.set("config:resolve_variables_in_subprocesses", True, scope="command_line")
# Use the ramble config command to handle parsing the config strings
for config_var in args.config_vars or []:
ramble.config.add(fullpath=config_var, scope="command_line")
# when to use color (takes always, auto, or never)
color.set_color_when(args.color)