idf-build-apps 2.3.0__tar.gz → 2.3.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.3.0 → idf_build_apps-2.3.1}/.github/workflows/check-pre-commit.yml +1 -1
- {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/CHANGELOG.md +6 -0
- {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/PKG-INFO +1 -1
- {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/idf_build_apps/__init__.py +1 -1
- {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/idf_build_apps/app.py +12 -0
- {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/idf_build_apps/main.py +1 -12
- {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/pyproject.toml +1 -1
- {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/setup.py +1 -1
- {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/tests/test_manifest.py +17 -7
- {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/.editorconfig +0 -0
- {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/.git-blame-ignore-revs +0 -0
- {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/.gitattributes +0 -0
- {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/.github/dependabot.yml +0 -0
- {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/.github/workflows/issue_comment.yml +0 -0
- {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/.github/workflows/new_issues.yml +0 -0
- {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/.github/workflows/new_prs.yml +0 -0
- {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/.github/workflows/publish-pypi.yml +0 -0
- {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/.github/workflows/test-build-docs.yml +0 -0
- {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/.github/workflows/test-build-idf-apps.yml +0 -0
- {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/.gitignore +0 -0
- {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/.pre-commit-config.yaml +0 -0
- {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/.readthedocs.yml +0 -0
- {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/CONTRIBUTING.md +0 -0
- {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/LICENSE +0 -0
- {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/README.md +0 -0
- {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/docs/CHANGELOG.md +0 -0
- {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/docs/CONTRIBUTING.md +0 -0
- {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/docs/Makefile +0 -0
- {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/docs/_apidoc_templates/module.rst_t +0 -0
- {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/docs/_apidoc_templates/package.rst_t +0 -0
- {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/docs/_apidoc_templates/toc.rst_t +0 -0
- {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/docs/_static/espressif-logo.svg +0 -0
- {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/docs/_static/theme_overrides.css +0 -0
- {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/docs/_templates/layout.html +0 -0
- {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/docs/cli.rst +0 -0
- {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/docs/conf.py +0 -0
- {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/docs/config_file.md +0 -0
- {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/docs/find_build.md +0 -0
- {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/docs/index.rst +0 -0
- {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/docs/manifest.md +0 -0
- {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/docs/migration/1.x_to_2.x.md +0 -0
- {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/idf_build_apps/__main__.py +0 -0
- {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/idf_build_apps/build_apps_args.py +0 -0
- {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/idf_build_apps/config.py +0 -0
- {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/idf_build_apps/constants.py +0 -0
- {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/idf_build_apps/finder.py +0 -0
- {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/idf_build_apps/junit/__init__.py +0 -0
- {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/idf_build_apps/junit/report.py +0 -0
- {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/idf_build_apps/junit/utils.py +0 -0
- {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/idf_build_apps/log.py +0 -0
- {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/idf_build_apps/manifest/__init__.py +0 -0
- {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/idf_build_apps/manifest/if_parser.py +0 -0
- {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/idf_build_apps/manifest/manifest.py +0 -0
- {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/idf_build_apps/manifest/soc_header.py +0 -0
- {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/idf_build_apps/session_args.py +0 -0
- {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/idf_build_apps/utils.py +0 -0
- {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/idf_build_apps/yaml/__init__.py +0 -0
- {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/idf_build_apps/yaml/parser.py +0 -0
- {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/license_header.txt +0 -0
- {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/tests/conftest.py +0 -0
- {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/tests/test_app.py +0 -0
- {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/tests/test_build.py +0 -0
- {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/tests/test_finder.py +0 -0
- {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/tests/test_utils.py +0 -0
|
@@ -12,7 +12,7 @@ jobs:
|
|
|
12
12
|
fetch-depth: 0
|
|
13
13
|
- uses: actions/setup-python@v5
|
|
14
14
|
- id: changed-files
|
|
15
|
-
uses: tj-actions/changed-files@
|
|
15
|
+
uses: tj-actions/changed-files@v44
|
|
16
16
|
- uses: pre-commit/action@v3.0.1
|
|
17
17
|
with:
|
|
18
18
|
extra_args: --files ${{ steps.changed-files.outputs.all_changed_files }}
|
|
@@ -124,6 +124,7 @@ class App(BaseModel):
|
|
|
124
124
|
verbose: bool = False
|
|
125
125
|
check_warnings: bool = False
|
|
126
126
|
preserve: bool = True
|
|
127
|
+
copy_sdkconfig: bool = False
|
|
127
128
|
|
|
128
129
|
# build_apps() related
|
|
129
130
|
build_apps_args: t.Optional[BuildAppsArgs] = None
|
|
@@ -561,6 +562,17 @@ class App(BaseModel):
|
|
|
561
562
|
def _post_build(self) -> None:
|
|
562
563
|
self._build_stage = BuildStage.POST_BUILD
|
|
563
564
|
|
|
565
|
+
if self.copy_sdkconfig:
|
|
566
|
+
try:
|
|
567
|
+
shutil.copy(
|
|
568
|
+
os.path.join(self.work_dir, 'sdkconfig'),
|
|
569
|
+
os.path.join(self.build_path, 'sdkconfig'),
|
|
570
|
+
)
|
|
571
|
+
except Exception as e:
|
|
572
|
+
self._logger.warning('Copy sdkconfig file from failed: %s', e)
|
|
573
|
+
else:
|
|
574
|
+
self._logger.debug('Copied sdkconfig file from %s to %s', self.work_dir, self.build_path)
|
|
575
|
+
|
|
564
576
|
if not os.path.isfile(self.build_log_path):
|
|
565
577
|
return
|
|
566
578
|
|
|
@@ -6,7 +6,6 @@ import json
|
|
|
6
6
|
import logging
|
|
7
7
|
import os
|
|
8
8
|
import re
|
|
9
|
-
import shutil
|
|
10
9
|
import sys
|
|
11
10
|
import textwrap
|
|
12
11
|
import typing as t
|
|
@@ -324,6 +323,7 @@ def build_apps(
|
|
|
324
323
|
app.dry_run = dry_run
|
|
325
324
|
app.index = index
|
|
326
325
|
app.verbose = build_verbose
|
|
326
|
+
app.copy_sdkconfig = copy_sdkconfig
|
|
327
327
|
|
|
328
328
|
LOGGER.info('(%s/%s) Building app: %s', index, len(apps), app)
|
|
329
329
|
|
|
@@ -353,17 +353,6 @@ def build_apps(
|
|
|
353
353
|
fw.write(app.to_json() + '\n')
|
|
354
354
|
LOGGER.debug('Recorded app info in %s', build_apps_args.collect_app_info)
|
|
355
355
|
|
|
356
|
-
if copy_sdkconfig:
|
|
357
|
-
try:
|
|
358
|
-
shutil.copy(
|
|
359
|
-
os.path.join(app.work_dir, 'sdkconfig'),
|
|
360
|
-
os.path.join(app.build_path, 'sdkconfig'),
|
|
361
|
-
)
|
|
362
|
-
except Exception as e:
|
|
363
|
-
LOGGER.warning('Copy sdkconfig file from failed: %s', e)
|
|
364
|
-
else:
|
|
365
|
-
LOGGER.debug('Copied sdkconfig file from %s to %s', app.work_dir, app.build_path)
|
|
366
|
-
|
|
367
356
|
if app.build_status == BuildStatus.FAILED:
|
|
368
357
|
if not keep_going:
|
|
369
358
|
return 1
|
|
@@ -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.3.
|
|
33
|
+
version='2.3.1',
|
|
34
34
|
description='Tools for building ESP-IDF related apps.',
|
|
35
35
|
author=None,
|
|
36
36
|
author_email='Fu Hanxi <fuhanxi@espressif.com>',
|
|
@@ -122,7 +122,8 @@ test5:
|
|
|
122
122
|
|
|
123
123
|
os.chdir(tmpdir)
|
|
124
124
|
Manifest.ROOTPATH = tmpdir
|
|
125
|
-
|
|
125
|
+
with pytest.warns(UserWarning, match='Folder ".+" does not exist. Please check your manifest file'):
|
|
126
|
+
manifest = Manifest.from_file(yaml_file)
|
|
126
127
|
|
|
127
128
|
assert manifest.depends_components('test1', None, None) == ['VVV']
|
|
128
129
|
assert manifest.depends_components('test1', None, 'AAA') == ['VVV']
|
|
@@ -175,7 +176,8 @@ test1:
|
|
|
175
176
|
)
|
|
176
177
|
os.chdir(tmpdir)
|
|
177
178
|
Manifest.ROOTPATH = tmpdir
|
|
178
|
-
|
|
179
|
+
with pytest.warns(UserWarning, match='Folder ".+" does not exist. Please check your manifest file'):
|
|
180
|
+
manifest = Manifest.from_file(yaml_file)
|
|
179
181
|
|
|
180
182
|
assert manifest.depends_components('test1', None, None) == ['DF']
|
|
181
183
|
assert manifest.depends_components('test1', None, 'CCC') == ['DF']
|
|
@@ -202,7 +204,8 @@ def test_manifest_switch_clause_wrong_manifest_format(tmpdir):
|
|
|
202
204
|
encoding='utf8',
|
|
203
205
|
)
|
|
204
206
|
try:
|
|
205
|
-
|
|
207
|
+
with pytest.warns(UserWarning, match='Folder ".+" does not exist. Please check your manifest file'):
|
|
208
|
+
Manifest.from_file(yaml_file)
|
|
206
209
|
except InvalidManifest as e:
|
|
207
210
|
assert str(e) == "Only the 'if' and 'default' keywords are supported in switch clause."
|
|
208
211
|
|
|
@@ -219,7 +222,8 @@ def test_manifest_switch_clause_wrong_manifest_format(tmpdir):
|
|
|
219
222
|
encoding='utf8',
|
|
220
223
|
)
|
|
221
224
|
try:
|
|
222
|
-
|
|
225
|
+
with pytest.warns(UserWarning, match='Folder ".+" does not exist. Please check your manifest file'):
|
|
226
|
+
Manifest.from_file(yaml_file)
|
|
223
227
|
except InvalidManifest as e:
|
|
224
228
|
assert str(e) == 'Current manifest format has to fit either the switch format or the list format.'
|
|
225
229
|
|
|
@@ -260,7 +264,9 @@ foo:
|
|
|
260
264
|
""",
|
|
261
265
|
encoding='utf8',
|
|
262
266
|
)
|
|
263
|
-
|
|
267
|
+
with pytest.warns(UserWarning, match='Folder ".+" does not exist. Please check your manifest file'):
|
|
268
|
+
manifest = Manifest.from_file(yaml_file)
|
|
269
|
+
|
|
264
270
|
assert manifest.enable_build_targets('foo') == sorted(SUPPORTED_TARGETS)
|
|
265
271
|
|
|
266
272
|
yaml_file.write_text(
|
|
@@ -281,7 +287,9 @@ examples/wifi/coexist:
|
|
|
281
287
|
encoding='utf8',
|
|
282
288
|
)
|
|
283
289
|
|
|
284
|
-
|
|
290
|
+
with pytest.warns(UserWarning, match='Folder ".+" does not exist. Please check your manifest file'):
|
|
291
|
+
manifest = Manifest.from_file(yaml_file)
|
|
292
|
+
|
|
285
293
|
assert manifest.depends_components('examples/wifi/coexist') == ['esp_coex', 'esp_hw_support', 'esp_wifi']
|
|
286
294
|
|
|
287
295
|
yaml_file.write_text(
|
|
@@ -428,7 +436,9 @@ examples/wifi/coexist:
|
|
|
428
436
|
encoding='utf8',
|
|
429
437
|
)
|
|
430
438
|
|
|
431
|
-
|
|
439
|
+
with pytest.warns(UserWarning, match='Folder ".+" does not exist. Please check your manifest file'):
|
|
440
|
+
manifest = Manifest.from_file(yaml_file)
|
|
441
|
+
|
|
432
442
|
assert manifest.depends_components('examples/wifi/coexist') == ['esp_hw_support']
|
|
433
443
|
|
|
434
444
|
|
|
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
|