env: environments can be named or created in directories
- `spack env create <name>` works as before - `spack env create <path>` 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.
This commit is contained in:
@@ -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'
|
||||
|
@@ -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
|
||||
|
Reference in New Issue
Block a user