From a1818f971f20e4b9ac22dad70b95d764921acbe4 Mon Sep 17 00:00:00 2001 From: Todd Gamblin Date: Mon, 15 Oct 2018 23:04:45 -0700 Subject: env: environments can be named or created in directories - `spack env create ` works as before - `spack env create ` now works as well -- environments can be created in their own directories outside of Spack. - `spack install` will look for a `spack.yaml` file in the current directory, and will install the entire project from the environment - The Environment class has been refactored so that it does not depend on the internal Spack environment root; it just takes a path and operates on an environment in that path (so internal and external envs are handled the same) - The named environment interface has been hoisted to the spack.environment module level. - env.yaml is now spack.yaml in all places. It was easier to go with one name for these files than to try to handle logic for both env.yaml and spack.yaml. --- share/spack/csh/spack.csh | 4 ++-- share/spack/setup-env.sh | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) (limited to 'share') diff --git a/share/spack/csh/spack.csh b/share/spack/csh/spack.csh index 6690f08eed..a773dd216b 100644 --- a/share/spack/csh/spack.csh +++ b/share/spack/csh/spack.csh @@ -77,8 +77,8 @@ case env: set _sp_env_arg="" [ $#_sp_args -gt 1 ] && set _sp_env_arg = ($_sp_args[2]) - if ( "$_sp_env_arg" == "" || "$_sp_env_arg" =~ "-*" ) then - # no args or does not start with -: just execute + if ( "$_sp_env_arg" == "" || "$_sp_args" =~ "*--sh*" || "$_sp_args" =~ "*--csh*" || "$_sp_args" =~ "*-h*" ) then + # no args or args contain -h/--help, --sh, or --csh: just execute \spack $_sp_flags env $_sp_args else shift _sp_args # consume 'activate' or 'deactivate' diff --git a/share/spack/setup-env.sh b/share/spack/setup-env.sh index af18fcd4e1..79688455bf 100755 --- a/share/spack/setup-env.sh +++ b/share/spack/setup-env.sh @@ -101,8 +101,9 @@ function spack { else case $_sp_arg in activate) - if [ -z "$1" -o "${1#-}" != "$1" ]; then - # no args or does not start with -: just execute + _a="$@" + if [ -z "$1" -o "${_a#*--sh}" != "$_a" -o "${_a#*--csh}" != "$_a" -o "${_a#*-h}" != "$_a" ]; then + # no args or args contain -h/--help, --sh, or --csh: just execute command spack "${args[@]}" else # actual call to activate: source the output -- cgit v1.2.3-70-g09d2