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.
Files changed (64) hide show
  1. {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/.github/workflows/check-pre-commit.yml +1 -1
  2. {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/CHANGELOG.md +6 -0
  3. {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/PKG-INFO +1 -1
  4. {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/idf_build_apps/__init__.py +1 -1
  5. {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/idf_build_apps/app.py +12 -0
  6. {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/idf_build_apps/main.py +1 -12
  7. {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/pyproject.toml +1 -1
  8. {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/setup.py +1 -1
  9. {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/tests/test_manifest.py +17 -7
  10. {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/.editorconfig +0 -0
  11. {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/.git-blame-ignore-revs +0 -0
  12. {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/.gitattributes +0 -0
  13. {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/.github/dependabot.yml +0 -0
  14. {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/.github/workflows/issue_comment.yml +0 -0
  15. {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/.github/workflows/new_issues.yml +0 -0
  16. {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/.github/workflows/new_prs.yml +0 -0
  17. {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/.github/workflows/publish-pypi.yml +0 -0
  18. {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/.github/workflows/test-build-docs.yml +0 -0
  19. {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/.github/workflows/test-build-idf-apps.yml +0 -0
  20. {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/.gitignore +0 -0
  21. {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/.pre-commit-config.yaml +0 -0
  22. {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/.readthedocs.yml +0 -0
  23. {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/CONTRIBUTING.md +0 -0
  24. {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/LICENSE +0 -0
  25. {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/README.md +0 -0
  26. {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/docs/CHANGELOG.md +0 -0
  27. {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/docs/CONTRIBUTING.md +0 -0
  28. {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/docs/Makefile +0 -0
  29. {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/docs/_apidoc_templates/module.rst_t +0 -0
  30. {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/docs/_apidoc_templates/package.rst_t +0 -0
  31. {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/docs/_apidoc_templates/toc.rst_t +0 -0
  32. {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/docs/_static/espressif-logo.svg +0 -0
  33. {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/docs/_static/theme_overrides.css +0 -0
  34. {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/docs/_templates/layout.html +0 -0
  35. {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/docs/cli.rst +0 -0
  36. {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/docs/conf.py +0 -0
  37. {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/docs/config_file.md +0 -0
  38. {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/docs/find_build.md +0 -0
  39. {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/docs/index.rst +0 -0
  40. {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/docs/manifest.md +0 -0
  41. {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/docs/migration/1.x_to_2.x.md +0 -0
  42. {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/idf_build_apps/__main__.py +0 -0
  43. {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/idf_build_apps/build_apps_args.py +0 -0
  44. {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/idf_build_apps/config.py +0 -0
  45. {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/idf_build_apps/constants.py +0 -0
  46. {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/idf_build_apps/finder.py +0 -0
  47. {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/idf_build_apps/junit/__init__.py +0 -0
  48. {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/idf_build_apps/junit/report.py +0 -0
  49. {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/idf_build_apps/junit/utils.py +0 -0
  50. {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/idf_build_apps/log.py +0 -0
  51. {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/idf_build_apps/manifest/__init__.py +0 -0
  52. {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/idf_build_apps/manifest/if_parser.py +0 -0
  53. {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/idf_build_apps/manifest/manifest.py +0 -0
  54. {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/idf_build_apps/manifest/soc_header.py +0 -0
  55. {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/idf_build_apps/session_args.py +0 -0
  56. {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/idf_build_apps/utils.py +0 -0
  57. {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/idf_build_apps/yaml/__init__.py +0 -0
  58. {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/idf_build_apps/yaml/parser.py +0 -0
  59. {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/license_header.txt +0 -0
  60. {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/tests/conftest.py +0 -0
  61. {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/tests/test_app.py +0 -0
  62. {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/tests/test_build.py +0 -0
  63. {idf_build_apps-2.3.0 → idf_build_apps-2.3.1}/tests/test_finder.py +0 -0
  64. {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@v42
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 }}
@@ -2,6 +2,12 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file.
4
4
 
5
+ ## v2.3.1 (2024-04-22)
6
+
7
+ ### Fix
8
+
9
+ - copy sdkconfig file while `_post_build` instead of the final phase of `build_apps`
10
+
5
11
  ## v2.3.0 (2024-03-20)
6
12
 
7
13
  ### Feat
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: idf-build-apps
3
- Version: 2.3.0
3
+ Version: 2.3.1
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
@@ -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.3.0'
11
+ __version__ = '2.3.1'
12
12
 
13
13
  from .session_args import (
14
14
  SessionArgs,
@@ -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
@@ -60,7 +60,7 @@ idf-build-apps = "idf_build_apps:main.main"
60
60
 
61
61
  [tool.commitizen]
62
62
  name = "cz_conventional_commits"
63
- version = "2.3.0"
63
+ version = "2.3.1"
64
64
  tag_format = "v$version"
65
65
  version_files = [
66
66
  "idf_build_apps/__init__.py",
@@ -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.0',
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
- manifest = Manifest.from_file(yaml_file)
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
- manifest = Manifest.from_file(yaml_file)
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
- Manifest.from_file(yaml_file)
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
- Manifest.from_file(yaml_file)
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
- manifest = Manifest.from_file(yaml_file)
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
- manifest = Manifest.from_file(yaml_file)
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
- manifest = Manifest.from_file(yaml_file)
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