summaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)AuthorFilesLines
2018-12-06multimethod: slight refactoring, documentation for code reviewGregory Becker3-39/+44
2018-12-06fix MRO for multimethod.__call__ using iterative algorithm.Gregory Becker2-9/+59
Add tests MRO for inherited multimethods with multiple inheritance Add tests for inherited and overridden multimethods
2018-12-06tests: fully parametrize multimethod testTodd Gamblin1-37/+47
- all multimethod tests are now run for both `multimethod` and `multimethod-inheritor` - do this with a parameterized fixture (pkg_name) that runs the same tests on both
2018-12-06multimethod uses Spec() instead of parse_anonymous_spec()Todd Gamblin2-21/+11
- simplify logic in multimethod - remove the requirement of multimethod invocations to walk up the stack.
2018-12-06spec: refactor and clean up Spec initializationTodd Gamblin2-206/+248
- Since early Spack versions, the SpecParser has (weirdly) been responsible for initializing Spec fields. - This refactors initialization to take place in Spec.__init__, as it probably should have originally. - This makes the code easier to read, the parser easier to understand, and removes the use of __new__ in the parser to initialize the Spec. - This also makes it possible to make a completely empty Spec with `Spec()` -- this is an abstract Spec that will match anything.
2018-12-06Added test for multimethod inheritanceGregory Becker1-0/+4
2018-12-04improved constraint conflict error message (#9975)Peter Scheibel1-2/+8
2018-11-28Injected flags have a consistent order (#9960)Massimiliano Culpo4-16/+30
Fixes #9908 Spack was assembling flags in a manner that could in different orderings for repeated concretizations of the same spec and config
2018-11-27Expose option to save all dependencies when writing spec.yaml (#9965)Scott Wittenburg1-2/+2
2018-11-16intel-mkl: fix usage of openmp_libs and tbb_libs (#9863)Denis Davydov1-3/+3
* intel-mkl: fix usage of openmp_libs and tbb_libs * intel-mkl: remove trailing whitespace from openmp lib
2018-11-13Fix bugs in Modules Tutorial (#9821)Adam J. Stewart1-3/+3
Found a couple bugs while trying to copy and paste the exact tutorial content.
2018-11-12Fix typos in Build Systems Tutorial (#9822)Adam J. Stewart1-4/+4
2018-11-12docs: update tutorial slide link for SC18Todd Gamblin1-8/+8
2018-11-12version bump: v0.12.0Todd Gamblin1-1/+1
2018-11-12docs: add environments tutorialTodd Gamblin2-4/+821
- tutorial goes through three sections: - installing and uninstalling environments - dealing with many specs - spack.yaml and spack.lock and workflows
2018-11-11Updates to Configuration Tutorial for SC18 (#9811)Adam J. Stewart1-176/+242
* Updates to Configuration Tutorial for SC18 * Suggested rewording
2018-11-11Consistent capitalization of Build Caches docs for SC18 (#9810)Adam J. Stewart1-1/+1
2018-11-11Minor changes to Build Settings docs (#9808)Adam J. Stewart1-25/+27
2018-11-11Minor changes to Basic Settings docs for SC18 (#9809)Adam J. Stewart1-13/+13
Grammar/spelling issues
2018-11-11Update basic usage and modules tutorial (#9807)Greg Becker3-1148/+1149
* "spack install" now uses cache by default, update examples accordingly * Replace some example packages with others * Packing tutorial reference to "spack env" replaced with "spack build-env" * Command line prompts in examples are shortened * Example output (including paths) are updated to be more relevant to training environment
2018-11-11Advanced packaging tutorial: reorganize for binary caches (#9804)Peter Scheibel1-145/+157
Update all examples that need an MPI provider to build with MPICH; reorganize so that fixing MPICH (as part of environment section) comes first in the tutorial (most examples in the tutorial use an MPI provider).
2018-11-11env: uninstall just removes specs that are still needed by other envsTodd Gamblin1-51/+107
- previously, uninstall would complain if a spec was needed by an environment. - Now, we analyze dependents and dependent environments and simply remove (not uninstall) specs that are needed by environments
2018-11-11bugfix: preserve abstract specs when installing an environmentTodd Gamblin2-9/+9
- `spack install` was setting the root to be the concrete spec - abstract spec is now preserved
2018-11-11env: fix display of concretized specs in `spack find`Todd Gamblin1-5/+3
- fix highlighting of roots in concretized specs in `spack find` - tighten up the `spack find` output in environments
2018-11-11env: make `spack config edit` and `spack config get` environment-awareTodd Gamblin5-27/+183
- with no arguments, these commands will now edit or dump the environment's `spack.yaml` file. - users may not know where named environments live - this makes it convenient for users to get to the spack.yaml configuration file for their named environment.
2018-11-11bugfix: make defaults consistent --use-cache and --no-cache (#9803)Todd Gamblin1-3/+3
2018-11-11Update buildsystem tut (#9795)Mario Melara2-45/+54
* Update Makefile to use property methods ("build_targets"/"install_targets") to demonstrate their usage * Fix highlighting * Change cbench example to ESMF: CBench package file was changed and no longer uses the example shown in the old docs
2018-11-11Updates to Configuration Files docs for SC18 (#9801)Adam J. Stewart2-139/+138
Scopes added with -C are now referred to as "custom scopes" rather than "command line scopes". "command line scope" now refers to specific config options that are set on the command line (like "--insecure")
2018-11-09install: add --use-cache back so that existing tooling does not break (#9797)Todd Gamblin1-2/+8
- default is still to use the cache, but we've added back the `--use-cache` argument so that scripts that used it are still correct. - `--no-cache` is stil present and is mutually exclusive with `--use-cache`
2018-11-09Introduce fftw-api virtual package for Intel-MKL and FFTW (#9618)Nichols A. Romero1-2/+5
* Introduce FFTW2 and FFT3 providers for Intel-MKL and FFTW Spack packages. * make fftw default package for fftw-api virtual package * virtual package test assertion now provides location of default virtual packages. * Change name of virtual package to fftw-api and used versioned interface.
2018-11-09buildcache: update `spack install` to use build cache by default (#9772)Greg Becker4-7/+11
2018-11-09env: clean up command access to the active environmentTodd Gamblin5-40/+51
- all commands (except `spack find`, through `ConstraintAction`) now go through get_env() to get the active environment - ev.active was hard to read -- and the name wasn't descriptive. - rename it to _active_environment to be more descriptive and to strongly indicate that spack.environment manages it
2018-11-09env: only add `concrete` attribute to abstract specsTodd Gamblin1-3/+4
- to aovid changing spec hashes drastically, only add this attribute to differentiated abstract specs. - othherwise assume that read-in specs are concrete
2018-11-09env: make environment search more consistent; simplify codeTodd Gamblin4-105/+105
- spack.yaml files in the current directory were picked up inconsistently -- make this a sure thing by moving that logic into find_environment() and moving find_environment() to main() - simplify arguments to Spack command: - remove short args for infrequently used commands (--pdb/-D, -P, -s) - `spack -D` now forces an env with a directory
2018-11-09externals: bugfix in ruamel for ordereddict in Python 2.6Todd Gamblin1-2/+2
- args weren't being delegated properly from CommentedMap to OrderedDict
2018-11-09env: rename EnvError to SpackEnvironmentErrorTodd Gamblin2-13/+10
2018-11-09bugfix: preserve patch ordering when specs are copiedTodd Gamblin1-0/+9
- The `Spec` class maintains a special `_patches_in_order_of_appearance` attribute on patch variants, but it is was preserved when specs are copied. - This caused issues for some builds - Add special logic to `Spec` to preserve this variant on copy - TODO: in the long term we should get rid of the special variant and make it the responsibility of one of the variant classes.
2018-11-09fix bad regular expressions and docstrings with '\'Todd Gamblin2-4/+4
2018-11-09commands: rework command categories and argumentsTodd Gamblin14-22/+27
- split 'environment' section into 'environments' and 'modules' - move location to 'query packages' section - move cd to developer section - --env-dir no longer has a short optino (was -E) - -E now means "run without an environment" (no longer same as --env-dir) - -D now means "run with this directory environment" - remove short options for may infrequently used top-level commands
2018-11-09env: consolidate most of `spack env status` into `spack find`Todd Gamblin7-148/+259
- `spack env status` used to show install status; consolidate that into `spack find`. - `spack env status` will still print out whether there is an active environment
2018-11-09env: move `env uninstall` into `spack uninstall`Todd Gamblin6-72/+191
- uninstall now: - restricts its spec search to the current environment - removes uninstalled specs from the current environment - reports envs that still need specs you're trying to uninstall - removed spack env uninstall command - updated tests
2018-11-09env: move `spack env stage` into `spack stage` commandTodd Gamblin4-27/+15
2018-11-09env: `spack env destroy` is now `spack env remove`Todd Gamblin2-20/+23
2018-11-09env: move add, remove, and concretize to top-level commandsTodd Gamblin7-104/+155
2018-11-09env: moved all `spack env install` functionality into `spack install`Todd Gamblin4-124/+110
- moved get_env from cmd/env.py to environment.py - spack install will now install into the active environment when no arguments are provided. It looks: 1. at the command line 2. for a local spack.yaml file 3. for any currently activated environment
2018-11-09env: remove all -e arguments on subcommandsTodd Gamblin2-18/+25
- add and remove now require an active environment - update tests to use with <ENV> instead of -e
2018-11-09env: currently activated environment cannot be destroyedTodd Gamblin3-22/+42
2018-11-09env: prevent any active environments from interfering with testsTodd Gamblin1-0/+22
- ensure that `SPACK_ENV` is unset before tests - ensure that `spack.environment.active` is deactivated if set
2018-11-09env: remove upgrade() and relocate() for nowTodd Gamblin3-140/+1
- these won't be in the first release of environments - they'll be added back in later
2018-11-09env: add test to ensure config precedence is high-to-lowTodd Gamblin2-3/+46