Commit Graph
3901 Commits
Author SHA1 Message Date
J. Nick Koston 1ccd3cdee8 Merge branch 'esp8266-native-build-spec' into esp8266-native-ninja-emission 2026-08-23 13:57:22 -05:00
J. Nick Koston 14d8e5dbfe Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec 2026-08-23 13:57:20 -05:00
J. Nick Koston 3bb8b667fe Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend 2026-08-23 13:57:19 -05:00
J. Nick Koston ea270ae2a1 Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer 2026-08-23 13:57:17 -05:00
J. Nick Koston 87a01b7ed9 Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra 2026-08-23 13:57:15 -05:00
J. Nick Koston f8957a94f1 Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing 2026-08-23 13:57:13 -05:00
J. Nick Koston 4803a92554 Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery 2026-08-23 13:57:11 -05:00
J. Nick Koston 3a35c75ec1 Merge branch 'esp8266-native-library-converter' into esp8266-native-shared-helpers 2026-08-23 13:57:09 -05:00
J. Nick Koston 8536d54998 Merge branch 'esp8266-native-converter-hardening' into esp8266-native-library-converter 2026-08-23 13:57:07 -05:00
J. Nick Koston 10bccf3fc0 Merge branch 'esp8266-native-idedata-helpers' into esp8266-native-converter-hardening 2026-08-23 13:57:05 -05:00
J. Nick Koston b070d1631c Merge remote-tracking branch 'origin/dev' into esp8266-native-idedata-helpers 2026-08-23 13:57:03 -05:00
J. Nick Koston 4cc3012d98 Read build_src_flags from its producer, share the ldscript rule, shape-check flash_mode
The throw_stubs force-include now comes from the build_src_flags option
esp8266/__init__ pins, collapsing the two spellings to one source of
truth; -include paths resolve against the source root. The ldscript
fallback consumes boards.board_ld_script instead of duplicating the
per-board rule, flash_mode is checked against its closed set before
landing unquoted in the elf2bin command, and the board-gate comment no
longer names a nonexistent validator.
2026-08-23 13:56:27 -05:00
J. Nick Koston 39f6425170 Merge branch 'esp8266-native-build-spec' into esp8266-native-ninja-emission 2026-08-23 13:54:27 -05:00
J. Nick Koston 6b5b13c17e Pin the LOW_MEMORY lwIP fall-through, veto the stamp on a stuck stale note
LOW_MEMORY is upstream's else branch, so the default variant stands in
for it and every listed knob wins -- pinned for the ordinary SNTP
multi-server config where esp8266's HIGHER_BANDWIDTH_LOW_FLASH must
prevail. A stale warn note that cannot be removed now vetoes the stamp
(mirror of the lost-note case), and the unreadable-cached-note warning
names its cause.
2026-08-23 13:51:54 -05:00
J. Nick Koston c822b80c95 Cover env access warnings and the unmodelled-subscript degrade 2026-08-23 13:49:03 -05:00
J. Nick Koston 4e37acdc01 Merge branch 'esp8266-native-build-spec' into esp8266-native-ninja-emission 2026-08-23 13:37:24 -05:00
J. Nick Koston 9766f6e911 Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec 2026-08-23 13:37:22 -05:00
J. Nick Koston 463a86be3c Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
# Conflicts:
#	esphome/platformio/library.py
#	tests/unit_tests/test_platformio_library.py
2026-08-23 13:37:08 -05:00
J. Nick Koston 84dc92f5ae Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer 2026-08-23 13:35:15 -05:00
J. Nick Koston ba58435d5f Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra 2026-08-23 13:35:13 -05:00
J. Nick Koston 9233f0f2f1 Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing 2026-08-23 13:35:11 -05:00
J. Nick Koston 554e19ccdb Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery 2026-08-23 13:35:09 -05:00
J. Nick Koston 9662fea8b9 Merge branch 'esp8266-native-library-converter' into esp8266-native-shared-helpers 2026-08-23 13:35:07 -05:00
J. Nick Koston b4031dc53a Merge branch 'esp8266-native-converter-hardening' into esp8266-native-library-converter
# Conflicts:
#	esphome/platformio/library.py
2026-08-23 13:35:04 -05:00
J. Nick Koston eb958bd0a0 Quote CPPDEFINES, warn on env access, degrade unmodelled subscripts, realify InvalidLibrary
CPPDEFINES joins the quoted buckets (a spaced define no longer splits
across tokens) and its tuple branch validates the pair elements. The
fake env warns on attribute access rather than call, so hasattr/
truthiness branches are diagnosable, with dunder probes excluded; an
unmodelled subscript warns and returns '' instead of a KeyError
discarding the whole capture. Malformed platforms/frameworks values
raise plain InvalidLibrary, giving the non-platform warning branches a
real producer, and their tests use real manifests instead of
monkeypatched raisers. The version-less dependency drop moves to debug:
bundled names (Wire, SPI) made it per-build noise nobody can act on.
2026-08-23 13:34:19 -05:00
J. Nick Koston b805d73c07 Merge branch 'esp8266-native-build-spec' into esp8266-native-ninja-emission 2026-08-23 13:17:26 -05:00
J. Nick Koston f03c8265ec Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec 2026-08-23 13:17:24 -05:00
J. Nick Koston 9013a6e6ad Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend 2026-08-23 13:17:22 -05:00
J. Nick Koston 4c8fdbb65b Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer 2026-08-23 13:17:20 -05:00
J. Nick Koston 7eb6de0c32 Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra 2026-08-23 13:17:18 -05:00
J. Nick Koston f0be047453 Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing 2026-08-23 13:17:16 -05:00
J. Nick Koston 2da0319eaa Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery 2026-08-23 13:17:14 -05:00
J. Nick Koston c376d32db4 Merge branch 'esp8266-native-library-converter' into esp8266-native-shared-helpers 2026-08-23 13:17:12 -05:00
J. Nick Koston 59fc108aa7 Cover the prefetch blanket guard 2026-08-23 13:17:08 -05:00
J. Nick Koston fd61eda4a2 Merge branch 'esp8266-native-build-spec' into esp8266-native-ninja-emission 2026-08-23 13:10:39 -05:00
J. Nick Koston 8d45edbb3e Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec 2026-08-23 13:10:39 -05:00
J. Nick Koston 2d44dacbed Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
# Conflicts:
#	esphome/platformio/library.py
2026-08-23 13:10:36 -05:00
J. Nick Koston dc00335707 Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer 2026-08-23 13:09:54 -05:00
J. Nick Koston 485725d734 Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra 2026-08-23 13:09:54 -05:00
J. Nick Koston 0b598d18dc Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing 2026-08-23 13:09:53 -05:00
J. Nick Koston a272ca9e17 Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery 2026-08-23 13:09:53 -05:00
J. Nick Koston e40537cc34 Merge branch 'esp8266-native-library-converter' into esp8266-native-shared-helpers 2026-08-23 13:09:53 -05:00
J. Nick Koston 9d761102e5 Size the prefetch from the registry, fold the batch API, guard the prefetch
The registry response already carries each package file's size, so the
combined bar is sized from URLSource instead of a HEAD sweep; the probe,
its all-or-nothing fallback, and its duplicate Content-Length parsing are
gone, and archives without a reported size simply stay on the sequential
path. run_batch_downloads now takes (name, size, fetch) jobs and builds
the (now private) progress bar itself, collecting failures from future
results instead of a shared list; both call sites use functools.partial
instead of lambda factories. The prefetch touches only URLSource, so the
progress parameter comes off Source/Git/Local/ConvertedLibrary, and the
wave prefetch is wrapped best-effort like its ESP-IDF twin, which also
dedupes by dest only after the verifiability check. ProgressBar.done()
itself now skips the newline when no frame was drawn or the 100% frame
already ended the line, collapsing the batch wrapper's guard and fixing
the stray blank line after OTA uploads.
2026-08-23 13:08:32 -05:00
Bonne EgglestonandClaude dde6906f98 [modbus_client] Add continuous option to the read and send actions (#18542)
Co-authored-by: Claude <noreply@anthropic.com>
2026-08-23 13:01:34 -05:00
J. Nick Koston 9731c9527a Harden the shared library converter
Split out of #18662: the converter/manifest hardening without the
download parallelization, which stays there.

The PIO extra-script shim moves from espidf/ to platformio/ and gains
type checks for every manifest field, capture of the Append variants and
CPPPATH, warn-once diagnostics for unmodelled env reads, and uniform
shlex quoting so captured values survive the lex_build_flags round-trip.
The dependency walk normalizes every spelling PIO accepts, splits the
routine cross-platform skip (IncompatiblePlatform) from real manifest
problems, validates manifest shape once, and the shared flag lexer
warns and drops trailing or empty glued arguments.
2026-08-23 12:32:44 -05:00
J. Nick Koston 9f6d66a2e7 Merge branch 'esp8266-native-build-spec' into esp8266-native-ninja-emission
# Conflicts:
#	esphome/build_gen/arduino8266.py
#	tests/unit_tests/build_gen/test_arduino8266.py
2026-08-23 12:18:51 -05:00
J. Nick Koston eb982e07a7 Veto the ld-script cache stamp when the warn note is lost, widen the linker denylist
A failed stderr-sidecar write no longer stamps the cache: the next build
re-runs -E and re-derives the preprocessor diagnostic honestly instead
of losing it for the life of the build dir. The sidecar unlink joins the
best-effort contract. The plain-linker denylist gains the
-nodefaultlibs/-nostdlib/-rdynamic family and the -fuse-ld=/--specs=
prefixes, with a comment naming it best-effort rather than complete.
The damaged-file helper test now lives only in test_helpers.py beside
the OSError-branch coverage.
2026-08-23 12:17:43 -05:00
J. Nick Koston 10d82b129a Rely on the lex funnel's empty-argument drop
The funnel now warns and drops empty glued arguments itself, so the
raise here had nothing left to catch.
2026-08-23 12:15:52 -05:00
J. Nick Koston 49bdd061b8 Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec 2026-08-23 12:15:20 -05:00
J. Nick Koston 88cc355293 Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend 2026-08-23 12:15:19 -05:00