aboutsummaryrefslogtreecommitdiff
path: root/pw_build/py/pw_build/project_builder_prefs.py
diff options
context:
space:
mode:
Diffstat (limited to 'pw_build/py/pw_build/project_builder_prefs.py')
-rw-r--r--pw_build/py/pw_build/project_builder_prefs.py19
1 files changed, 13 insertions, 6 deletions
diff --git a/pw_build/py/pw_build/project_builder_prefs.py b/pw_build/py/pw_build/project_builder_prefs.py
index a6c3515a7..a13534d9c 100644
--- a/pw_build/py/pw_build/project_builder_prefs.py
+++ b/pw_build/py/pw_build/project_builder_prefs.py
@@ -16,9 +16,10 @@
import argparse
import copy
import shlex
+from pathlib import Path
from typing import Any, Callable, Dict, List, Tuple, Union
-from pw_cli.toml_config_loader_mixin import TomlConfigLoaderMixin
+from pw_cli.toml_config_loader_mixin import YamlConfigLoaderMixin
_DEFAULT_CONFIG: Dict[Any, Any] = {
# Config settings not available as a command line options go here.
@@ -34,6 +35,10 @@ _DEFAULT_CONFIG: Dict[Any, Any] = {
},
}
+_DEFAULT_PROJECT_FILE = Path('$PW_PROJECT_ROOT/.pw_build.yaml')
+_DEFAULT_PROJECT_USER_FILE = Path('$PW_PROJECT_ROOT/.pw_build.user.yaml')
+_DEFAULT_USER_FILE = Path('$HOME/.pw_build.yaml')
+
def load_defaults_from_argparse(
add_parser_arguments: Callable[
@@ -51,7 +56,7 @@ def load_defaults_from_argparse(
return defaults_flags
-class ProjectBuilderPrefs(TomlConfigLoaderMixin):
+class ProjectBuilderPrefs(YamlConfigLoaderMixin):
"""Pigweed Watch preferences storage class."""
def __init__(
@@ -59,15 +64,17 @@ class ProjectBuilderPrefs(TomlConfigLoaderMixin):
load_argparse_arguments: Callable[
[argparse.ArgumentParser], argparse.ArgumentParser
],
+ project_file: Union[Path, bool] = _DEFAULT_PROJECT_FILE,
+ project_user_file: Union[Path, bool] = _DEFAULT_PROJECT_USER_FILE,
+ user_file: Union[Path, bool] = _DEFAULT_USER_FILE,
) -> None:
self.load_argparse_arguments = load_argparse_arguments
self.config_init(
config_section_title='pw_build',
- # Don't load any config files
- project_file=False,
- project_user_file=False,
- user_file=False,
+ project_file=project_file,
+ project_user_file=project_user_file,
+ user_file=user_file,
default_config=_DEFAULT_CONFIG,
environment_var='PW_BUILD_CONFIG_FILE',
)