spack/share/spack
Massimiliano Culpo d17511a806
Refactor "spack buildcache" command (#27776)
This PR is meant to move code with "business logic" from `spack.cmd.buildcache` to appropriate core modules[^1]. 

Modifications:
- [x] Add `spack.binary_distribution.push` to create a binary package from a spec and push it to a mirror
- [x] Add `spack.binary_distribution.install_root_node` to install only the root node of a concrete spec from a buildcache (may check the sha256 sum if it is passed in as input)
- [x] Add `spack.binary_distribution.install_single_spec` to install a single concrete spec from a buildcache
- [x] Add `spack.binary_distribution.download_single_spec` to download a single concrete spec from a buildcache to a local destination
- [x] Add `Spec.from_specfile` that construct a spec given the path of a JSON or YAML spec file
- [x] Removed logic from `spack.cmd.buildcache`
- [x] Removed calls to `spack.cmd.buildcache` in `spack.bootstrap`
- [x] Deprecate `spack buildcache copy` with a message that says it will be removed in v0.19.0

[^1]: The rationale is that commands should be lightweight wrappers of the core API, since that helps with both testing and scripting (easier mocking and no need to invoke `SpackCommand`s in a script).
2021-12-10 10:23:14 +01:00
..
bash spack setup-env.sh: make zsh loading async compatible, and ~10x faster (in some cases) (#26120) 2021-10-28 11:32:59 -07:00
bootstrap/github-actions Bootstrap GnuPG (#24003) 2021-11-02 23:15:24 -07:00
csh commands: spack load --list alias for spack find --loaded (#27184) 2021-11-05 00:58:29 -07:00
docker Build container images on Github Actions and push to multiple registries (#26247) 2021-09-30 23:34:47 +02:00
docs/docker/module-file-tutorial copyrights: update all files with license headers for 2021 2021-01-02 12:12:00 -08:00
gitlab e4s ci: expand +cuda specs (#27272) 2021-12-08 16:13:45 -08:00
keys Update the Public key of the tutorial (#27370) 2021-11-12 11:46:02 +01:00
logo add artisanal handcrafted SVG Spack logo. (#6165) 2017-11-06 22:42:16 -08:00
qa ci: run style unit tests only if we target develop (#27472) 2021-11-18 13:00:39 +01:00
templates containerize: pin the Spack version used in a container (#21910) 2021-10-25 13:09:27 -07:00
setup-env.csh Introduce a SPACK_PYTHON environment variable (#21222) 2021-02-12 10:52:44 -08:00
setup-env.fish commands: spack load --list alias for spack find --loaded (#27184) 2021-11-05 00:58:29 -07:00
setup-env.sh commands: spack load --list alias for spack find --loaded (#27184) 2021-11-05 00:58:29 -07:00
setup-tutorial-env.sh Tab to spaces (#22362) 2021-03-18 06:20:06 +00:00
spack-completion.bash Refactor "spack buildcache" command (#27776) 2021-12-10 10:23:14 +01:00