diff options
author | Greg Becker <becker33@llnl.gov> | 2021-03-04 22:29:48 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-03-04 22:29:48 -0800 |
commit | 92b7805e40bbda74a925128936999cd46a8fc850 (patch) | |
tree | 4e4f3b6caafff11ad031119f2d029c6534efa429 /.codecov.yml | |
parent | 8bdd6c6f6d6d56a835d40a7c4cd491cb2a810bbb (diff) | |
download | spack-92b7805e40bbda74a925128936999cd46a8fc850.tar.gz spack-92b7805e40bbda74a925128936999cd46a8fc850.tar.bz2 spack-92b7805e40bbda74a925128936999cd46a8fc850.tar.xz spack-92b7805e40bbda74a925128936999cd46a8fc850.zip |
Allow relative paths in config files (relative to file dirname) (#21996)
This allows users to use relative paths for mirrors and repos and other things that may be part of a Spack environment. There are two ways to do it.
1. Relative to the file
```yaml
spack:
repos:
- local_dir/my_repository
```
Which will refer to a repository like this in the directory where `spack.yaml` lives:
```
env/
spack.yaml <-- the config file above
local_dir/
my_repository/ <-- this repository
repo.yaml
packages/
```
2. Relative to the environment
```yaml
spack:
repos:
- $env/local_dir/my_repository
```
Both of these would refer to the same directory, but they differ for included files. For example, if you had this layout:
```
env/
spack.yaml
repository/
includes/
repos.yaml
repository/
```
And this `spack.yaml`:
```yaml
spack:
include: includes/repos.yaml
```
Then, these two `repos.yaml` files are functionally different:
```yaml
repos:
- $env/repository # refers to env/repository/ above
repos:
- repository # refers to env/includes/repository/ above
```
The $env variable will not be evaluated if there is no active environment. This generally means that it should not be used outside of an environment's spack.yaml file. However, if other aspects of your workflow guarantee that there is always an active environment, it may be used in other config scopes.
Diffstat (limited to '.codecov.yml')
0 files changed, 0 insertions, 0 deletions