idf-build-apps 2.2.0__tar.gz → 2.2.1__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.1}/CHANGELOG.md +6 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.1}/PKG-INFO +1 -1
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.1}/docs/manifest.md +6 -6
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.1}/idf_build_apps/__init__.py +1 -1
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.1}/idf_build_apps/session_args.py +2 -2
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.1}/pyproject.toml +1 -1
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.1}/setup.py +1 -1
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.1}/tests/test_finder.py +6 -4
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.1}/.editorconfig +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.1}/.git-blame-ignore-revs +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.1}/.gitattributes +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.1}/.github/dependabot.yml +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.1}/.github/workflows/check-pre-commit.yml +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.1}/.github/workflows/issue_comment.yml +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.1}/.github/workflows/new_issues.yml +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.1}/.github/workflows/new_prs.yml +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.1}/.github/workflows/publish-pypi.yml +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.1}/.github/workflows/test-build-docs.yml +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.1}/.github/workflows/test-build-idf-apps.yml +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.1}/.gitignore +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.1}/.pre-commit-config.yaml +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.1}/.readthedocs.yml +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.1}/CONTRIBUTING.md +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.1}/LICENSE +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.1}/README.md +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.1}/docs/CHANGELOG.md +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.1}/docs/CONTRIBUTING.md +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.1}/docs/Makefile +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.1}/docs/_apidoc_templates/module.rst_t +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.1}/docs/_apidoc_templates/package.rst_t +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.1}/docs/_apidoc_templates/toc.rst_t +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.1}/docs/_static/espressif-logo.svg +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.1}/docs/_static/theme_overrides.css +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.1}/docs/_templates/layout.html +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.1}/docs/cli.rst +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.1}/docs/conf.py +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.1}/docs/config_file.md +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.1}/docs/find_build.md +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.1}/docs/index.rst +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.1}/docs/migration/1.x_to_2.x.md +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.1}/idf_build_apps/__main__.py +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.1}/idf_build_apps/app.py +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.1}/idf_build_apps/build_apps_args.py +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.1}/idf_build_apps/config.py +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.1}/idf_build_apps/constants.py +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.1}/idf_build_apps/finder.py +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.1}/idf_build_apps/junit/__init__.py +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.1}/idf_build_apps/junit/report.py +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.1}/idf_build_apps/junit/utils.py +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.1}/idf_build_apps/log.py +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.1}/idf_build_apps/main.py +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.1}/idf_build_apps/manifest/__init__.py +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.1}/idf_build_apps/manifest/if_parser.py +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.1}/idf_build_apps/manifest/manifest.py +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.1}/idf_build_apps/manifest/soc_header.py +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.1}/idf_build_apps/utils.py +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.1}/idf_build_apps/yaml/__init__.py +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.1}/idf_build_apps/yaml/parser.py +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.1}/license_header.txt +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.1}/tests/conftest.py +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.1}/tests/test_app.py +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.1}/tests/test_build.py +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.1}/tests/test_manifest.py +0 -0
- {idf_build_apps-2.2.0 → idf_build_apps-2.2.1}/tests/test_utils.py +0 -0
|
@@ -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 `-`.
|
|
@@ -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.1',
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|