idf-build-apps 2.14.0__py3-none-any.whl → 2.15.1__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.
- idf_build_apps/__init__.py +1 -1
- idf_build_apps/app.py +10 -4
- idf_build_apps/args.py +12 -0
- idf_build_apps/main.py +3 -1
- idf_build_apps/yaml/parser.py +3 -1
- {idf_build_apps-2.14.0.dist-info → idf_build_apps-2.15.1.dist-info}/METADATA +1 -1
- {idf_build_apps-2.14.0.dist-info → idf_build_apps-2.15.1.dist-info}/RECORD +10 -10
- {idf_build_apps-2.14.0.dist-info → idf_build_apps-2.15.1.dist-info}/WHEEL +0 -0
- {idf_build_apps-2.14.0.dist-info → idf_build_apps-2.15.1.dist-info}/entry_points.txt +0 -0
- {idf_build_apps-2.14.0.dist-info → idf_build_apps-2.15.1.dist-info}/licenses/LICENSE +0 -0
idf_build_apps/__init__.py
CHANGED
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
|
-
|
|
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
|
|
1068
|
-
|
|
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
|
|
1076
|
+
return False
|
|
1071
1077
|
|
|
1072
1078
|
|
|
1073
1079
|
class AppDeserializer(BaseModel):
|
idf_build_apps/args.py
CHANGED
|
@@ -929,6 +929,18 @@ class DumpManifestShaArguments(GlobalArguments):
|
|
|
929
929
|
description='Path to the manifest files which contains the build test rules of the apps',
|
|
930
930
|
default=None, # type: ignore
|
|
931
931
|
)
|
|
932
|
+
common_components: t.Optional[t.List[str]] = field(
|
|
933
|
+
FieldMetadata(
|
|
934
|
+
validate_method=[ValidateMethod.TO_LIST],
|
|
935
|
+
type=semicolon_separated_str_to_list,
|
|
936
|
+
shorthand='-rc',
|
|
937
|
+
),
|
|
938
|
+
description='semicolon-separated list of components. '
|
|
939
|
+
'expand the `- *common_components` placeholder in manifests. '
|
|
940
|
+
'If set to "", the value would be considered as None. '
|
|
941
|
+
'If set to ";", the value would be considered as an empty list.',
|
|
942
|
+
default=None, # type: ignore
|
|
943
|
+
)
|
|
932
944
|
|
|
933
945
|
output: t.Optional[str] = field(
|
|
934
946
|
FieldMetadata(
|
idf_build_apps/main.py
CHANGED
|
@@ -394,7 +394,9 @@ def main():
|
|
|
394
394
|
|
|
395
395
|
if action == 'dump-manifest-sha':
|
|
396
396
|
arguments = DumpManifestShaArguments(**kwargs_without_none)
|
|
397
|
-
Manifest.from_files(arguments.manifest_files).dump_sha_values(
|
|
397
|
+
Manifest.from_files(arguments.manifest_files, common_components=arguments.common_components).dump_sha_values(
|
|
398
|
+
arguments.output
|
|
399
|
+
)
|
|
398
400
|
sys.exit(0)
|
|
399
401
|
|
|
400
402
|
if action == 'find':
|
idf_build_apps/yaml/parser.py
CHANGED
|
@@ -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,12 +1,12 @@
|
|
|
1
|
-
idf_build_apps/__init__.py,sha256=
|
|
1
|
+
idf_build_apps/__init__.py,sha256=vqnHqkjVySCAsUMu7GlaBMUFZ6fUOdCGJkPq-l0bf_k,711
|
|
2
2
|
idf_build_apps/__main__.py,sha256=xbvcgp3sNxXZZ0MMr9XU12TjdzHBWq6DF1FYUSmAjHE,182
|
|
3
|
-
idf_build_apps/app.py,sha256=
|
|
4
|
-
idf_build_apps/args.py,sha256=
|
|
3
|
+
idf_build_apps/app.py,sha256=XfZuDRvEbtsBGqagc4az-LYnbK3y7lxQIvpUk9r4A5Q,40469
|
|
4
|
+
idf_build_apps/args.py,sha256=KosT-D3DHURq6valzeLLim6K2flApR-Y6UCZBvhvc5E,41342
|
|
5
5
|
idf_build_apps/autocompletions.py,sha256=UbswHAWRvqvq4TgDBFjqHGlDLS_NEBM8EE0LlLUYY0A,2143
|
|
6
6
|
idf_build_apps/constants.py,sha256=CW7vKXV6brsNLWeGLNCoDj28r5GO9So3RFNqgk_X2CI,2166
|
|
7
7
|
idf_build_apps/finder.py,sha256=eSIr-y5yPTInQk5IQHggRJyxOndciexaNzpU4VVhfQQ,5833
|
|
8
8
|
idf_build_apps/log.py,sha256=2aJRqx3hPT9IhSv3RLkXR5j7PgB2RX47G766c4i_m5c,3899
|
|
9
|
-
idf_build_apps/main.py,sha256=
|
|
9
|
+
idf_build_apps/main.py,sha256=qJCa6kXsffrBfosJBXQeZ8X9dfaJ5DJ-20iGws4an-E,18324
|
|
10
10
|
idf_build_apps/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
11
11
|
idf_build_apps/session_args.py,sha256=BMWfW48hHHt5UsAbzTJ9BMnerVP5lnulb0h3Db-BNC8,2973
|
|
12
12
|
idf_build_apps/utils.py,sha256=YAVIYTvz86G--qjh58H376taQ-qe1PbebXcWxYNdnFs,10976
|
|
@@ -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=
|
|
23
|
-
idf_build_apps-2.
|
|
24
|
-
idf_build_apps-2.
|
|
25
|
-
idf_build_apps-2.
|
|
26
|
-
idf_build_apps-2.
|
|
27
|
-
idf_build_apps-2.
|
|
22
|
+
idf_build_apps/yaml/parser.py,sha256=fdqlRsepAhb-_iynn0_TPMCk9qutMSl0cDRMxYKoPr0,3287
|
|
23
|
+
idf_build_apps-2.15.1.dist-info/entry_points.txt,sha256=3pVUirUEsb6jsDRikkQWNUt4hqLK2ci1HvW_Vf8b6uE,59
|
|
24
|
+
idf_build_apps-2.15.1.dist-info/licenses/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
|
|
25
|
+
idf_build_apps-2.15.1.dist-info/WHEEL,sha256=G2gURzTEtmeR8nrdXUJfNiB3VYVxigPQ-bEQujpNiNs,82
|
|
26
|
+
idf_build_apps-2.15.1.dist-info/METADATA,sha256=3wApFMgDQuljzJEmh0tkDpEbdWAlYhKLLK5bpF0-bxA,4795
|
|
27
|
+
idf_build_apps-2.15.1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|