Skip to content

Commit

Permalink
Configuration: allow usage of command-line scopes with environments (#…
Browse files Browse the repository at this point in the history
…14608)

Spack did not support usage of the `--config-scope` option in
combination with an environment: In `lib/spack/spack/main.py`,
`spack.config.command_line_scopes` is set equal to any config scopes
passed by the `--config-scope` option. However, this is done after
activating an environment. In the process of activating an environment,
the `spack.config.config` singleton is instantiated, so later setting of
`spack.config.command_line_scopes` is ignored.

This commit sets command line scopes before activating an environment to
ensure that they are included in the configuration.

Co-authored-by: Tim Fuller <tjfulle@sandia.gov>
  • Loading branch information
ChristianTackeGSI and tjfulle committed Jul 20, 2020
1 parent 3949a85 commit bd23691
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions lib/spack/spack/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -701,16 +701,16 @@ def main(argv=None):
if stored_var_name in os.environ:
os.environ[var] = os.environ[stored_var_name]

# make spack.config aware of any command line configuration scopes
if args.config_scopes:
spack.config.command_line_scopes = args.config_scopes

# activate an environment if one was specified on the command line
if not args.no_env:
env = ev.find_environment(args)
if env:
ev.activate(env, args.use_env_repo)

# make spack.config aware of any command line configuration scopes
if args.config_scopes:
spack.config.command_line_scopes = args.config_scopes

if args.print_shell_vars:
print_setup_info(*args.print_shell_vars.split(','))
return 0
Expand Down

0 comments on commit bd23691

Please sign in to comment.