spack module :
- refresh accepts a constraint
- find and refresh share common cli options
- ask for confirmation before refreshing
- deleting the module file tree is now optional
Yay for non-portable declaration syntax. After the previous screwiness
I ran this through a number of shells, and found that this is the most
portable version I coudl seem to get.
The setup-env.sh script now saves off the argument array before shifting off
all the arguments so that the final command invocation doesn't arbitrarily
requote the arguments. All external quoting is preserved now. This has been
thoroughly tested with zsh, but should probably be tested with bash etc.
before acceptance.
- One file with all the module classes (spack/modules.py)
- Has an EnvModule superclass that does most of the work and consolidates common code
- Subclasses have specializations for different module systems (TclModule, Dotkit)
- One command (spack module) for all the types of modules to use
- the one command is used by the scripts, only need to maintain in one place
- has some subcommands for different module types, but they're handled mostly generically.
- Consolidate zsh support into a single setup-env.sh script.
- New spack.hooks package
- contains modules with pre and post install hooks
- New dotkit hook module
- generates/removes dotkits on install/uninstall
- New spack use, spack unuse commands
- use same syntax as install/uninstall
- New setup-env.bash script
- Sets up path, dotkit support
- new spack dotkit command
- used by script to parse specs, generate
specs of installed pckages for dotkit file names