idf-build-apps 1.1.3__tar.gz → 1.1.4__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 (52) hide show
  1. {idf_build_apps-1.1.3 → idf_build_apps-1.1.4}/CHANGELOG.md +6 -0
  2. {idf_build_apps-1.1.3 → idf_build_apps-1.1.4}/PKG-INFO +1 -1
  3. {idf_build_apps-1.1.3 → idf_build_apps-1.1.4}/idf_build_apps/__init__.py +1 -1
  4. {idf_build_apps-1.1.3 → idf_build_apps-1.1.4}/idf_build_apps/manifest/manifest.py +11 -9
  5. {idf_build_apps-1.1.3 → idf_build_apps-1.1.4}/pyproject.toml +1 -1
  6. {idf_build_apps-1.1.3 → idf_build_apps-1.1.4}/setup.py +1 -1
  7. {idf_build_apps-1.1.3 → idf_build_apps-1.1.4}/tests/test_manifest.py +24 -0
  8. {idf_build_apps-1.1.3 → idf_build_apps-1.1.4}/.editorconfig +0 -0
  9. {idf_build_apps-1.1.3 → idf_build_apps-1.1.4}/.git-blame-ignore-revs +0 -0
  10. {idf_build_apps-1.1.3 → idf_build_apps-1.1.4}/.gitattributes +0 -0
  11. {idf_build_apps-1.1.3 → idf_build_apps-1.1.4}/.github/dependabot.yml +0 -0
  12. {idf_build_apps-1.1.3 → idf_build_apps-1.1.4}/.github/workflows/check-pre-commit.yml +0 -0
  13. {idf_build_apps-1.1.3 → idf_build_apps-1.1.4}/.github/workflows/issue_comment.yml +0 -0
  14. {idf_build_apps-1.1.3 → idf_build_apps-1.1.4}/.github/workflows/new_issues.yml +0 -0
  15. {idf_build_apps-1.1.3 → idf_build_apps-1.1.4}/.github/workflows/new_prs.yml +0 -0
  16. {idf_build_apps-1.1.3 → idf_build_apps-1.1.4}/.github/workflows/publish-pypi.yml +0 -0
  17. {idf_build_apps-1.1.3 → idf_build_apps-1.1.4}/.github/workflows/test-build-docs.yml +0 -0
  18. {idf_build_apps-1.1.3 → idf_build_apps-1.1.4}/.github/workflows/test-build-idf-apps.yml +0 -0
  19. {idf_build_apps-1.1.3 → idf_build_apps-1.1.4}/.gitignore +0 -0
  20. {idf_build_apps-1.1.3 → idf_build_apps-1.1.4}/.pre-commit-config.yaml +0 -0
  21. {idf_build_apps-1.1.3 → idf_build_apps-1.1.4}/.readthedocs.yml +0 -0
  22. {idf_build_apps-1.1.3 → idf_build_apps-1.1.4}/CONTRIBUTING.md +0 -0
  23. {idf_build_apps-1.1.3 → idf_build_apps-1.1.4}/LICENSE +0 -0
  24. {idf_build_apps-1.1.3 → idf_build_apps-1.1.4}/README.md +0 -0
  25. {idf_build_apps-1.1.3 → idf_build_apps-1.1.4}/docs/CHANGELOG.md +0 -0
  26. {idf_build_apps-1.1.3 → idf_build_apps-1.1.4}/docs/CONTRIBUTING.md +0 -0
  27. {idf_build_apps-1.1.3 → idf_build_apps-1.1.4}/docs/Makefile +0 -0
  28. {idf_build_apps-1.1.3 → idf_build_apps-1.1.4}/docs/_static/espressif-logo.svg +0 -0
  29. {idf_build_apps-1.1.3 → idf_build_apps-1.1.4}/docs/_static/theme_overrides.css +0 -0
  30. {idf_build_apps-1.1.3 → idf_build_apps-1.1.4}/docs/_templates/layout.html +0 -0
  31. {idf_build_apps-1.1.3 → idf_build_apps-1.1.4}/docs/api.rst +0 -0
  32. {idf_build_apps-1.1.3 → idf_build_apps-1.1.4}/docs/conf.py +0 -0
  33. {idf_build_apps-1.1.3 → idf_build_apps-1.1.4}/docs/config_file.md +0 -0
  34. {idf_build_apps-1.1.3 → idf_build_apps-1.1.4}/docs/find_build.md +0 -0
  35. {idf_build_apps-1.1.3 → idf_build_apps-1.1.4}/docs/index.rst +0 -0
  36. {idf_build_apps-1.1.3 → idf_build_apps-1.1.4}/docs/manifest.md +0 -0
  37. {idf_build_apps-1.1.3 → idf_build_apps-1.1.4}/idf_build_apps/__main__.py +0 -0
  38. {idf_build_apps-1.1.3 → idf_build_apps-1.1.4}/idf_build_apps/app.py +0 -0
  39. {idf_build_apps-1.1.3 → idf_build_apps-1.1.4}/idf_build_apps/config.py +0 -0
  40. {idf_build_apps-1.1.3 → idf_build_apps-1.1.4}/idf_build_apps/constants.py +0 -0
  41. {idf_build_apps-1.1.3 → idf_build_apps-1.1.4}/idf_build_apps/finder.py +0 -0
  42. {idf_build_apps-1.1.3 → idf_build_apps-1.1.4}/idf_build_apps/log.py +0 -0
  43. {idf_build_apps-1.1.3 → idf_build_apps-1.1.4}/idf_build_apps/main.py +0 -0
  44. {idf_build_apps-1.1.3 → idf_build_apps-1.1.4}/idf_build_apps/manifest/__init__.py +0 -0
  45. {idf_build_apps-1.1.3 → idf_build_apps-1.1.4}/idf_build_apps/manifest/if_parser.py +0 -0
  46. {idf_build_apps-1.1.3 → idf_build_apps-1.1.4}/idf_build_apps/manifest/soc_header.py +0 -0
  47. {idf_build_apps-1.1.3 → idf_build_apps-1.1.4}/idf_build_apps/utils.py +0 -0
  48. {idf_build_apps-1.1.3 → idf_build_apps-1.1.4}/license_header.txt +0 -0
  49. {idf_build_apps-1.1.3 → idf_build_apps-1.1.4}/tests/conftest.py +0 -0
  50. {idf_build_apps-1.1.3 → idf_build_apps-1.1.4}/tests/test_build.py +0 -0
  51. {idf_build_apps-1.1.3 → idf_build_apps-1.1.4}/tests/test_finder.py +0 -0
  52. {idf_build_apps-1.1.3 → idf_build_apps-1.1.4}/tests/test_utils.py +0 -0
@@ -2,6 +2,12 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file.
4
4
 
5
+ ## v1.1.4 (2023-12-29)
6
+
7
+ ### Fix
8
+
9
+ - stop modifying yaml dict shared by yaml anchors
10
+
5
11
  ## v1.1.3 (2023-11-13)
6
12
 
7
13
  ### Fix
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: idf-build-apps
3
- Version: 1.1.3
3
+ Version: 1.1.4
4
4
  Summary: Tools for building ESP-IDF related apps.
5
5
  Author-email: Fu Hanxi <fuhanxi@espressif.com>
6
6
  Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*
@@ -7,7 +7,7 @@ Tools for building ESP-IDF related apps.
7
7
 
8
8
  import logging
9
9
 
10
- __version__ = '1.1.3'
10
+ __version__ = '1.1.4'
11
11
 
12
12
  LOGGER = logging.getLogger('idf_build_apps')
13
13
 
@@ -59,15 +59,17 @@ class FolderRule:
59
59
  ): # type: (...) -> None
60
60
  self.folder = folder.resolve()
61
61
 
62
- for group in [enable, disable, disable_test]:
63
- if group:
64
- for d in group:
65
- d['stmt'] = d['if'] # avoid keyword `if`
66
- del d['if']
67
-
68
- self.enable = [IfClause(**clause) for clause in enable] if enable else []
69
- self.disable = [IfClause(**clause) for clause in disable] if disable else []
70
- self.disable_test = [IfClause(**clause) for clause in disable_test] if disable_test else []
62
+ def _clause_to_if_clause(clause): # type: (dict[str, str]) -> IfClause
63
+ _kwargs = {'stmt': clause['if']}
64
+ if 'temporary' in clause:
65
+ _kwargs['temporary'] = clause['temporary']
66
+ if 'reason' in clause:
67
+ _kwargs['reason'] = clause['reason']
68
+ return IfClause(**_kwargs)
69
+
70
+ self.enable = [_clause_to_if_clause(clause) for clause in enable] if enable else []
71
+ self.disable = [_clause_to_if_clause(clause) for clause in disable] if disable else []
72
+ self.disable_test = [_clause_to_if_clause(clause) for clause in disable_test] if disable_test else []
71
73
  self.depends_components = depends_components or []
72
74
  self.depends_filepatterns = depends_filepatterns or []
73
75
 
@@ -61,7 +61,7 @@ idf-build-apps = "idf_build_apps:main.main"
61
61
 
62
62
  [tool.commitizen]
63
63
  name = "cz_conventional_commits"
64
- version = "1.1.3"
64
+ version = "1.1.4"
65
65
  tag_format = "v$version"
66
66
  version_files = [
67
67
  "idf_build_apps/__init__.py",
@@ -28,7 +28,7 @@ entry_points = \
28
28
  {'console_scripts': ['idf-build-apps = idf_build_apps:main.main']}
29
29
 
30
30
  setup(name='idf-build-apps',
31
- version='1.1.3',
31
+ version='1.1.4',
32
32
  description='Tools for building ESP-IDF related apps.',
33
33
  author=None,
34
34
  author_email='Fu Hanxi <fuhanxi@espressif.com>',
@@ -44,6 +44,30 @@ test2:
44
44
  assert manifest.enable_test_targets('test2') == ['linux']
45
45
 
46
46
 
47
+ def test_manifest_with_anchor(tmpdir, monkeypatch):
48
+ yaml_file = tmpdir / 'test.yml'
49
+ yaml_file.write_text(
50
+ """
51
+ .base: &base
52
+ depends_components:
53
+ - a
54
+
55
+ foo: &foo
56
+ <<: *base
57
+ disable:
58
+ - if: IDF_TARGET == "esp32"
59
+
60
+ bar:
61
+ <<: *foo
62
+ """,
63
+ encoding='utf8',
64
+ )
65
+
66
+ monkeypatch.setattr(idf_build_apps.manifest.manifest.FolderRule, 'DEFAULT_BUILD_TARGETS', ['esp32'])
67
+ manifest = Manifest.from_file(yaml_file)
68
+ assert manifest.enable_build_targets('bar') == []
69
+
70
+
47
71
  class TestIfParser:
48
72
  def test_idf_version(self, monkeypatch):
49
73
  monkeypatch.setattr(idf_build_apps.manifest.if_parser, 'IDF_VERSION', Version('5.9.0'))
File without changes
File without changes