idf_build_apps 2.2.0__tar.gz → 2.2.2__tar.gz
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-2.2.0 → idf_build_apps-2.2.2}/.github/workflows/test-build-docs.yml +2 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.2}/CHANGELOG.md +12 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.2}/PKG-INFO +2 -2
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.2}/README.md +1 -1
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.2}/docs/manifest.md +6 -6
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.2}/idf_build_apps/__init__.py +1 -1
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.2}/idf_build_apps/app.py +6 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.2}/idf_build_apps/session_args.py +2 -2
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.2}/pyproject.toml +1 -1
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.2}/setup.py +1 -1
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.2}/tests/test_finder.py +6 -4
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.2}/.editorconfig +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.2}/.git-blame-ignore-revs +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.2}/.gitattributes +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.2}/.github/dependabot.yml +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.2}/.github/workflows/check-pre-commit.yml +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.2}/.github/workflows/issue_comment.yml +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.2}/.github/workflows/new_issues.yml +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.2}/.github/workflows/new_prs.yml +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.2}/.github/workflows/publish-pypi.yml +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.2}/.github/workflows/test-build-idf-apps.yml +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.2}/.gitignore +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.2}/.pre-commit-config.yaml +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.2}/.readthedocs.yml +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.2}/CONTRIBUTING.md +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.2}/LICENSE +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.2}/docs/CHANGELOG.md +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.2}/docs/CONTRIBUTING.md +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.2}/docs/Makefile +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.2}/docs/_apidoc_templates/module.rst_t +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.2}/docs/_apidoc_templates/package.rst_t +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.2}/docs/_apidoc_templates/toc.rst_t +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.2}/docs/_static/espressif-logo.svg +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.2}/docs/_static/theme_overrides.css +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.2}/docs/_templates/layout.html +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.2}/docs/cli.rst +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.2}/docs/conf.py +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.2}/docs/config_file.md +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.2}/docs/find_build.md +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.2}/docs/index.rst +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.2}/docs/migration/1.x_to_2.x.md +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.2}/idf_build_apps/__main__.py +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.2}/idf_build_apps/build_apps_args.py +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.2}/idf_build_apps/config.py +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.2}/idf_build_apps/constants.py +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.2}/idf_build_apps/finder.py +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.2}/idf_build_apps/junit/__init__.py +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.2}/idf_build_apps/junit/report.py +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.2}/idf_build_apps/junit/utils.py +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.2}/idf_build_apps/log.py +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.2}/idf_build_apps/main.py +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.2}/idf_build_apps/manifest/__init__.py +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.2}/idf_build_apps/manifest/if_parser.py +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.2}/idf_build_apps/manifest/manifest.py +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.2}/idf_build_apps/manifest/soc_header.py +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.2}/idf_build_apps/utils.py +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.2}/idf_build_apps/yaml/__init__.py +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.2}/idf_build_apps/yaml/parser.py +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.2}/license_header.txt +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.2}/tests/conftest.py +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.2}/tests/test_app.py +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.2}/tests/test_build.py +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.2}/tests/test_manifest.py +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.2}/tests/test_utils.py +0 -0
|
@@ -2,6 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
|
|
5
|
+
## v2.2.2 (2024-03-13)
|
|
6
|
+
|
|
7
|
+
### Fix
|
|
8
|
+
|
|
9
|
+
- skip size json generation for targets in preview
|
|
10
|
+
|
|
11
|
+
## v2.2.1 (2024-03-04)
|
|
12
|
+
|
|
13
|
+
### Fix
|
|
14
|
+
|
|
15
|
+
- override sdkconfig item keep possible double quotes
|
|
16
|
+
|
|
5
17
|
## v2.2.0 (2024-02-22)
|
|
6
18
|
|
|
7
19
|
### Feat
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: idf-build-apps
|
|
3
|
-
Version: 2.2.
|
|
3
|
+
Version: 2.2.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
|
|
@@ -110,5 +110,5 @@ Thanks for your contribution! Please refer to our [Contributing Guide](CONTRIBUT
|
|
|
110
110
|
[hello-world]: https://github.com/espressif/esp-idf/tree/master/examples/get-started/hello_world
|
|
111
111
|
[supported-targets]: https://github.com/espressif/esp-idf/tree/v5.0#esp-idf-release-and-soc-compatibility
|
|
112
112
|
[doc]: https://docs.espressif.com/projects/idf-build-apps/en/latest/
|
|
113
|
-
[api-doc]: https://docs.espressif.com/projects/idf-build-apps/en/latest/api.html
|
|
113
|
+
[api-doc]: https://docs.espressif.com/projects/idf-build-apps/en/latest/api/modules.html
|
|
114
114
|
|
|
@@ -73,4 +73,4 @@ Thanks for your contribution! Please refer to our [Contributing Guide](CONTRIBUT
|
|
|
73
73
|
[hello-world]: https://github.com/espressif/esp-idf/tree/master/examples/get-started/hello_world
|
|
74
74
|
[supported-targets]: https://github.com/espressif/esp-idf/tree/v5.0#esp-idf-release-and-soc-compatibility
|
|
75
75
|
[doc]: https://docs.espressif.com/projects/idf-build-apps/en/latest/
|
|
76
|
-
[api-doc]: https://docs.espressif.com/projects/idf-build-apps/en/latest/api.html
|
|
76
|
+
[api-doc]: https://docs.espressif.com/projects/idf-build-apps/en/latest/api/modules.html
|
|
@@ -177,11 +177,13 @@ Low-level dependencies, are components or files that are used by many others. Fo
|
|
|
177
177
|
|
|
178
178
|
To disable the build-apps-only-on-related-changes feature, you can use the CLI option `--ignore-app-dependencies-filepatterns`. Once any of the modified files matches the specified patterns, the special rules will be disabled. All apps will be built, no exceptions.
|
|
179
179
|
|
|
180
|
-
##
|
|
180
|
+
## Enhanced YAML Syntax
|
|
181
181
|
|
|
182
|
-
|
|
182
|
+
### Switch-Like Clauses
|
|
183
183
|
|
|
184
|
-
|
|
184
|
+
The Switch-Like clauses are supported by two keywords in the YAML file: `depends_components` and `depends_filepatterns`.
|
|
185
|
+
|
|
186
|
+
#### Operands
|
|
185
187
|
|
|
186
188
|
Switch cases have two main components: the `if` clause and the `default` clause. Just like a switch statement in c language, The first matched `if` clause will be applied. If no `if` clause matched, the `default` clause will be applied. Here's an example:
|
|
187
189
|
|
|
@@ -197,12 +199,10 @@ test1:
|
|
|
197
199
|
|
|
198
200
|
`default` clause is optional. If you don't specify any `default` clause, it will return an empty array.
|
|
199
201
|
|
|
200
|
-
|
|
202
|
+
#### Limitations
|
|
201
203
|
|
|
202
204
|
You cannot combine a list and a switch in one node.
|
|
203
205
|
|
|
204
|
-
## Enhanced YAML Syntax
|
|
205
|
-
|
|
206
206
|
### Reuse Lists
|
|
207
207
|
|
|
208
208
|
To reuse the items defined in a list, you can use the `+` and `-` postfixes respectively. The order of calculation is always `+` first, followed by `-`.
|
|
@@ -39,6 +39,7 @@ from .constants import (
|
|
|
39
39
|
IDF_VERSION_MAJOR,
|
|
40
40
|
IDF_VERSION_MINOR,
|
|
41
41
|
IDF_VERSION_PATCH,
|
|
42
|
+
PREVIEW_TARGETS,
|
|
42
43
|
PROJECT_DESCRIPTION_JSON,
|
|
43
44
|
BuildStage,
|
|
44
45
|
BuildStatus,
|
|
@@ -666,6 +667,11 @@ class App(BaseModel):
|
|
|
666
667
|
self._logger.debug('Generated size info to %s', self.size_json_path)
|
|
667
668
|
|
|
668
669
|
def write_size_json(self) -> None:
|
|
670
|
+
if self.target in PREVIEW_TARGETS:
|
|
671
|
+
# targets in preview may not yet have support in esp-idf-size
|
|
672
|
+
self._logger.info('Skipping generation of size json for target %s as it is in preview.', self.target)
|
|
673
|
+
return
|
|
674
|
+
|
|
669
675
|
try:
|
|
670
676
|
self._write_size_json()
|
|
671
677
|
except Exception as e:
|
|
@@ -51,7 +51,7 @@ class SessionArgs:
|
|
|
51
51
|
|
|
52
52
|
with open(f) as fr:
|
|
53
53
|
for line in fr:
|
|
54
|
-
m = re.compile(r'^([^=]+)
|
|
54
|
+
m = re.compile(r'^([^=]+)=([^\n]*)\n*$').match(line)
|
|
55
55
|
if not m:
|
|
56
56
|
continue
|
|
57
57
|
d[m.group(1)] = m.group(2)
|
|
@@ -60,7 +60,7 @@ class SessionArgs:
|
|
|
60
60
|
def _get_override_sdkconfig_items(self, override_sdkconfig_items: t.Tuple[str]) -> t.Dict:
|
|
61
61
|
d = {}
|
|
62
62
|
for line in override_sdkconfig_items:
|
|
63
|
-
m = re.compile(r'^([^=]+)
|
|
63
|
+
m = re.compile(r'^([^=]+)=([^\n]*)\n*$').match(line)
|
|
64
64
|
if m:
|
|
65
65
|
d[m.group(1)] = m.group(2)
|
|
66
66
|
return d
|
|
@@ -30,7 +30,7 @@ entry_points = \
|
|
|
30
30
|
{'console_scripts': ['idf-build-apps = idf_build_apps:main.main']}
|
|
31
31
|
|
|
32
32
|
setup(name='idf-build-apps',
|
|
33
|
-
version='2.2.
|
|
33
|
+
version='2.2.2',
|
|
34
34
|
description='Tools for building ESP-IDF related apps.',
|
|
35
35
|
author=None,
|
|
36
36
|
author_email='Fu Hanxi <fuhanxi@espressif.com>',
|
|
@@ -494,14 +494,15 @@ CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1516
|
|
|
494
494
|
|
|
495
495
|
Args = namedtuple('Args', ['override_sdkconfig_items', 'override_sdkconfig_files'])
|
|
496
496
|
args = Args(
|
|
497
|
-
'CONFIG_IDF_TARGET=esp32c3,CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1522,CONFIG_A=10',
|
|
497
|
+
'CONFIG_IDF_TARGET=esp32c3,CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1522,CONFIG_A=10,CONFIG_C="test"',
|
|
498
|
+
'sdkconfig.override1',
|
|
498
499
|
)
|
|
499
500
|
idf_build_apps.SESSION_ARGS.set(args, workdir=tmp_path)
|
|
500
501
|
session_args = idf_build_apps.SESSION_ARGS
|
|
501
502
|
|
|
502
503
|
assert str(tmp_path) in str(session_args.override_sdkconfig_file_path)
|
|
503
|
-
assert len(session_args.override_sdkconfig_items) ==
|
|
504
|
-
assert len(set(session_args.override_sdkconfig_items)) ==
|
|
504
|
+
assert len(session_args.override_sdkconfig_items) == 5
|
|
505
|
+
assert len(set(session_args.override_sdkconfig_items)) == 5
|
|
505
506
|
|
|
506
507
|
apps = find_apps(str(tmp_path / 'test1'), 'esp32s2')
|
|
507
508
|
assert len(apps) == 0
|
|
@@ -514,13 +515,14 @@ CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1516
|
|
|
514
515
|
|
|
515
516
|
with open(apps[0].sdkconfig_files[-1]) as fr:
|
|
516
517
|
lines = fr.readlines()
|
|
517
|
-
assert len(lines) ==
|
|
518
|
+
assert len(lines) == 5
|
|
518
519
|
for _l in lines:
|
|
519
520
|
assert _l in [
|
|
520
521
|
'CONFIG_IDF_TARGET=esp32c3\n',
|
|
521
522
|
'CONFIG_A=10\n',
|
|
522
523
|
'CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1522\n',
|
|
523
524
|
'CONFIG_B=33\n',
|
|
525
|
+
'CONFIG_C="test"\n',
|
|
524
526
|
]
|
|
525
527
|
|
|
526
528
|
def test_config_name_in_manifest(self, tmp_path):
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|