idf-build-apps 2.5.1__py3-none-any.whl → 2.5.2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -8,7 +8,7 @@ Tools for building ESP-IDF related apps.
8
8
  # ruff: noqa: E402
9
9
  # avoid circular imports
10
10
 
11
- __version__ = '2.5.1'
11
+ __version__ = '2.5.2'
12
12
 
13
13
  from .session_args import (
14
14
  SessionArgs,
idf_build_apps/args.py CHANGED
@@ -117,6 +117,7 @@ class BaseArguments(BaseSettings):
117
117
  toml_file='.idf_build_apps.toml',
118
118
  pyproject_toml_table_header=('tool', 'idf-build-apps'),
119
119
  pyproject_toml_depth=sys.maxsize,
120
+ extra='ignore',
120
121
  )
121
122
 
122
123
  @classmethod
@@ -140,8 +141,9 @@ class BaseArguments(BaseSettings):
140
141
  if info.field_name and info.field_name in cls.model_fields:
141
142
  f = cls.model_fields[info.field_name]
142
143
  meta = get_meta(f)
143
- if meta and meta.validate_method and ValidateMethod.TO_LIST in meta.validate_method:
144
- return to_list(v)
144
+ if meta and meta.validate_method:
145
+ if ValidateMethod.TO_LIST in meta.validate_method:
146
+ return to_list(v)
145
147
 
146
148
  return v
147
149
 
@@ -268,7 +270,7 @@ class DependencyDrivenBuildArguments(GlobalArguments):
268
270
  )
269
271
  compare_manifest_sha_filepath: t.Optional[str] = field(
270
272
  None,
271
- description='Path to the file containing the sha256 hash of the manifest rules. '
273
+ description='Path to the file containing the hash of the manifest rules. '
272
274
  'Compare the hash with the current manifest rules. '
273
275
  'All matched apps will be built if the corresponding manifest rule is modified',
274
276
  default=None,
@@ -799,14 +801,19 @@ def add_args_to_parser(argument_cls: t.Type[BaseArguments], parser: argparse.Arg
799
801
  kwargs['required'] = True
800
802
  if f_meta.action:
801
803
  kwargs['action'] = f_meta.action
804
+ # to make the CLI override config file work
805
+ if f_meta.action == 'store_true':
806
+ kwargs['default'] = None
807
+
802
808
  if f_meta.nargs:
803
809
  kwargs['nargs'] = f_meta.nargs
804
810
  if f_meta.choices:
805
811
  kwargs['choices'] = f_meta.choices
806
812
  if f_meta.default:
807
813
  kwargs['default'] = f_meta.default
808
- if 'default' not in kwargs:
809
- kwargs['default'] = f.default
814
+
815
+ # here in CLI arguments, don't set the default to field.default
816
+ # otherwise it will override the config file settings
810
817
 
811
818
  parser.add_argument(
812
819
  *names,
idf_build_apps/finder.py CHANGED
@@ -33,6 +33,7 @@ def _get_apps_from_path(
33
33
  app_cls: t.Type[App] = CMakeApp,
34
34
  args: FindArguments,
35
35
  ) -> t.List[App]:
36
+ # trigger test
36
37
  def _validate_app(_app: App) -> bool:
37
38
  if target not in _app.supported_targets:
38
39
  LOGGER.debug('=> Ignored. %s only supports targets: %s', _app, ', '.join(_app.supported_targets))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: idf-build-apps
3
- Version: 2.5.1
3
+ Version: 2.5.2
4
4
  Summary: Tools for building ESP-IDF related apps.
5
5
  Author-email: Fu Hanxi <fuhanxi@espressif.com>
6
6
  Requires-Python: >=3.7
@@ -1,10 +1,10 @@
1
- idf_build_apps/__init__.py,sha256=hPsqVwLnkcGIEQNAReIvWhXRDoov8t70997wSn1zJ0g,650
1
+ idf_build_apps/__init__.py,sha256=_czizzLpsxKDZG61HbrIaZjdeib-_E4ZqTMOcxbxNxo,650
2
2
  idf_build_apps/__main__.py,sha256=8E-5xHm2MlRun0L88XJleNh5U50dpE0Q1nK5KqomA7I,182
3
3
  idf_build_apps/app.py,sha256=F-MKOsaz7cJ0H2wsEE4gpO4kkkEdkyFmIZBHDoM2qgs,37359
4
- idf_build_apps/args.py,sha256=Y4Wwoi8XYLjf8lWmCUm197NSzSBa4eC95QAyx4q7-6Q,31668
4
+ idf_build_apps/args.py,sha256=L1r7iS3gvV5UDqaZpu9M4Y36LUp-m-BK0rOqfpJjXu4,31918
5
5
  idf_build_apps/autocompletions.py,sha256=g-bx0pzXoFKI0VQqftkHyGVWN6MLjuFOdozeuAf45yo,2138
6
6
  idf_build_apps/constants.py,sha256=07ve2FtWuLBuc_6LFzbs1XncB1VNi9HJUqGjQQauRNM,3952
7
- idf_build_apps/finder.py,sha256=kfZaGWJfPUwWAbaOj_W3Fu97SIIFEsv1R_dJucjbFHw,5691
7
+ idf_build_apps/finder.py,sha256=Wv0QYArXmVZZDslLxfPwGgt202s94112AlAHk0s3N1g,5710
8
8
  idf_build_apps/log.py,sha256=pyvT7N4MWzGjIXph5mThQCGBiSt53RNPW0WrFfLr0Kw,2650
9
9
  idf_build_apps/main.py,sha256=Z_hetbOavgCJZQPaP01_jx57fR1w0DefiFz0J2cCwp0,16498
10
10
  idf_build_apps/session_args.py,sha256=2WDTy40IFAc0KQ57HaeBcYj_k10eUXRKkDOWLrFCaHY,2985
@@ -20,8 +20,8 @@ idf_build_apps/vendors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3
20
20
  idf_build_apps/vendors/pydantic_sources.py,sha256=2IN6opo6qjCwaqhERFbgA4PtEwqKaTtEkccy5_fYAT0,4130
21
21
  idf_build_apps/yaml/__init__.py,sha256=W-3z5no07RQ6eYKGyOAPA8Z2CLiMPob8DD91I4URjrA,162
22
22
  idf_build_apps/yaml/parser.py,sha256=b3LvogO6do-eJPRsYzT-8xk8AT2MnXpLCzQutJqyC7M,2128
23
- idf_build_apps-2.5.1.dist-info/entry_points.txt,sha256=3pVUirUEsb6jsDRikkQWNUt4hqLK2ci1HvW_Vf8b6uE,59
24
- idf_build_apps-2.5.1.dist-info/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
25
- idf_build_apps-2.5.1.dist-info/WHEEL,sha256=EZbGkh7Ie4PoZfRQ8I0ZuP9VklN_TvcZ6DSE5Uar4z4,81
26
- idf_build_apps-2.5.1.dist-info/METADATA,sha256=lvliMyMStV-5w_77UputZgbH9ZL2aDagexjxU6OUi-I,4610
27
- idf_build_apps-2.5.1.dist-info/RECORD,,
23
+ idf_build_apps-2.5.2.dist-info/entry_points.txt,sha256=3pVUirUEsb6jsDRikkQWNUt4hqLK2ci1HvW_Vf8b6uE,59
24
+ idf_build_apps-2.5.2.dist-info/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
25
+ idf_build_apps-2.5.2.dist-info/WHEEL,sha256=EZbGkh7Ie4PoZfRQ8I0ZuP9VklN_TvcZ6DSE5Uar4z4,81
26
+ idf_build_apps-2.5.2.dist-info/METADATA,sha256=ZegY4svIIuKIUgCFWJdgiiMIZzhSzLWRbOCiwBAVoKo,4610
27
+ idf_build_apps-2.5.2.dist-info/RECORD,,