Rollup merge of #118323 - onur-ozkan:better-error-for-incorrect-profiles, r=clubby789

give dev-friendly error message for incorrect config profiles

before this change, an incorrect profile would result in the following error:

```sh
...
...
  File "/home/nimda/devspace/onur-ozkan/rust/src/bootstrap/bootstrap.py", line 1088, in bootstrap
    with open(include_path) as included_toml:
         ^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: '/home/nimda/devspace/onur-ozkan/rust/src/bootstrap/defaults/config.aaaa.toml'
```

with this change, the error message is now:

```sh
...
...
  File "/home/nimda/devspace/onur-ozkan/rust/src/bootstrap/bootstrap.py", line 1088, in bootstrap
    raise Exception("Unrecognized profile '{}'. Check src/bootstrap/defaults"
Exception: Unrecognized profile 'aaaa'. Check src/bootstrap/defaults for available options.
```
This commit is contained in:
Matthias Krüger 2023-11-28 16:09:55 +01:00 committed by GitHub
commit 8f4ccc14c9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1083,6 +1083,11 @@ def bootstrap(args):
include_file = 'config.{}.toml'.format(profile_aliases.get(profile) or profile) include_file = 'config.{}.toml'.format(profile_aliases.get(profile) or profile)
include_dir = os.path.join(rust_root, 'src', 'bootstrap', 'defaults') include_dir = os.path.join(rust_root, 'src', 'bootstrap', 'defaults')
include_path = os.path.join(include_dir, include_file) include_path = os.path.join(include_dir, include_file)
if not os.path.exists(include_path):
raise Exception("Unrecognized config profile '{}'. Check src/bootstrap/defaults"
" for available options.".format(profile))
# HACK: This works because `self.get_toml()` returns the first match it finds for a # HACK: This works because `self.get_toml()` returns the first match it finds for a
# specific key, so appending our defaults at the end allows the user to override them # specific key, so appending our defaults at the end allows the user to override them
with open(include_path) as included_toml: with open(include_path) as included_toml: