idf-build-apps 2.14.0__py3-none-any.whl → 2.15.0__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.14.0'
11
+ __version__ = '2.15.0'
12
12
 
13
13
  from .session_args import (
14
14
  SessionArgs,
idf_build_apps/app.py CHANGED
@@ -956,7 +956,11 @@ class CMakeApp(App):
956
956
 
957
957
  # While ESP-IDF component CMakeLists files can be identified by the presence of 'idf_component_register' string,
958
958
  # there is no equivalent for the project CMakeLists files. This seems to be the best option...
959
- CMAKE_PROJECT_LINE: t.ClassVar[str] = r'include($ENV{IDF_PATH}/tools/cmake/project.cmake)'
959
+ # Support both build system v1 and v2 patterns
960
+ CMAKE_PROJECT_LINE: t.ClassVar[t.List[str]] = [
961
+ r'include($ENV{IDF_PATH}/tools/cmake/project.cmake)',
962
+ r'include($ENV{IDF_PATH}/tools/cmakev2/idf.cmake)',
963
+ ]
960
964
 
961
965
  build_system: Literal['cmake'] = 'cmake' # type: ignore
962
966
 
@@ -1064,10 +1068,12 @@ class CMakeApp(App):
1064
1068
  if not cmakelists_file_content:
1065
1069
  return False
1066
1070
 
1067
- if cls.CMAKE_PROJECT_LINE not in cmakelists_file_content:
1068
- return False
1071
+ # Check if any of the supported build system patterns are present
1072
+ for pattern in cls.CMAKE_PROJECT_LINE:
1073
+ if pattern in cmakelists_file_content:
1074
+ return True
1069
1075
 
1070
- return True
1076
+ return False
1071
1077
 
1072
1078
 
1073
1079
  class AppDeserializer(BaseModel):
@@ -77,6 +77,8 @@ def flatten_common_components(manifest_dict: t.Dict):
77
77
 
78
78
  flattened: t.List[str] = []
79
79
  for item in depends:
80
+ if not item:
81
+ continue
80
82
  if isinstance(item, t.List):
81
83
  flattened.extend(map(str, item))
82
84
  else:
@@ -89,7 +91,7 @@ def parse(path: PathLike, *, common_components: t.Optional[t.Sequence[str]] = No
89
91
  common_components_yaml = (
90
92
  '.common_components: &common_components\n' + '\n'.join(f' - {component}' for component in common_components)
91
93
  if common_components
92
- else ''
94
+ else '.common_components: &common_components\n null'
93
95
  )
94
96
 
95
97
  with open(path, encoding='utf-8') as f:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: idf-build-apps
3
- Version: 2.14.0
3
+ Version: 2.15.0
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,6 +1,6 @@
1
- idf_build_apps/__init__.py,sha256=aPohj9cU8yfQCqYn7wKsJDjVMUJq6A__07PNoAFUHbs,711
1
+ idf_build_apps/__init__.py,sha256=_7nx4tOzrYWsNpO7ljwZ0nd5GM1pWe8-UfCv7K4MzRQ,711
2
2
  idf_build_apps/__main__.py,sha256=xbvcgp3sNxXZZ0MMr9XU12TjdzHBWq6DF1FYUSmAjHE,182
3
- idf_build_apps/app.py,sha256=_B4kCTCUq7mSd6T-VwtLbBM9iHSpXRpfM0vmrznkjYo,40223
3
+ idf_build_apps/app.py,sha256=XfZuDRvEbtsBGqagc4az-LYnbK3y7lxQIvpUk9r4A5Q,40469
4
4
  idf_build_apps/args.py,sha256=sdp7eI33BXKmqucs60sS0kK8l5p4fRpRS6H7Y0XyITY,40803
5
5
  idf_build_apps/autocompletions.py,sha256=UbswHAWRvqvq4TgDBFjqHGlDLS_NEBM8EE0LlLUYY0A,2143
6
6
  idf_build_apps/constants.py,sha256=CW7vKXV6brsNLWeGLNCoDj28r5GO9So3RFNqgk_X2CI,2166
@@ -19,9 +19,9 @@ idf_build_apps/manifest/soc_header.py,sha256=vBO8oDEIIcxWRCDOPNXtqHKU0yv8q4yMrTo
19
19
  idf_build_apps/vendors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
20
20
  idf_build_apps/vendors/pydantic_sources.py,sha256=cxSIPRc3eI5peVMhDxwf58YaGhuG4SCwPRVX2znFEek,4553
21
21
  idf_build_apps/yaml/__init__.py,sha256=lbBz5r6hp8dSsxIypGFcc5EbXgWw2codDmky8QCo-sg,167
22
- idf_build_apps/yaml/parser.py,sha256=qlPZbLOM48CFs4F8i83Sa0QAl8AA-DQceWozTE_CkHM,3191
23
- idf_build_apps-2.14.0.dist-info/entry_points.txt,sha256=3pVUirUEsb6jsDRikkQWNUt4hqLK2ci1HvW_Vf8b6uE,59
24
- idf_build_apps-2.14.0.dist-info/licenses/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
25
- idf_build_apps-2.14.0.dist-info/WHEEL,sha256=G2gURzTEtmeR8nrdXUJfNiB3VYVxigPQ-bEQujpNiNs,82
26
- idf_build_apps-2.14.0.dist-info/METADATA,sha256=Zo3oJH3A2BCUuQmQ67mhFNw68LrXWfJvDwP5SngpIp4,4795
27
- idf_build_apps-2.14.0.dist-info/RECORD,,
22
+ idf_build_apps/yaml/parser.py,sha256=fdqlRsepAhb-_iynn0_TPMCk9qutMSl0cDRMxYKoPr0,3287
23
+ idf_build_apps-2.15.0.dist-info/entry_points.txt,sha256=3pVUirUEsb6jsDRikkQWNUt4hqLK2ci1HvW_Vf8b6uE,59
24
+ idf_build_apps-2.15.0.dist-info/licenses/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
25
+ idf_build_apps-2.15.0.dist-info/WHEEL,sha256=G2gURzTEtmeR8nrdXUJfNiB3VYVxigPQ-bEQujpNiNs,82
26
+ idf_build_apps-2.15.0.dist-info/METADATA,sha256=rF-7-4PDnWVxxke2CdNMxiq2NsDKv6nAkVsd_TMHf6Q,4795
27
+ idf_build_apps-2.15.0.dist-info/RECORD,,