diff --git a/CHANGELOG.md b/CHANGELOG.md index 11a6574..4479e61 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## 3.0.6 + +- Correct async PlatformIO dependency owners to the registry's canonical lowercase identity, so a clean consumer builds WiFiManager and its ESP8266/ESP32 transport dependencies without duplicating them in `lib_deps`. Remove the superseded include-path bridge. + ## 3.0.5 - Add a library-owned PlatformIO bridge for the asynchronous web/TCP include paths required when WiFiManager is nested beneath DeviceFramework. diff --git a/README.md b/README.md index 17e64c4..685a007 100644 --- a/README.md +++ b/README.md @@ -208,34 +208,25 @@ When developing both libraries together, use a local `symlink://` or ## Installation -Use the release tag and list the asynchronous web/TCP packages at project level. -PlatformIO installs the manifest dependencies automatically, but its dependency -finder requires these headers to be direct project dependencies before it adds -their include paths: +Use the release tag. The package manifest resolves DFTE, the asynchronous web +server, and the platform-specific TCP library automatically: ```ini [common] lib_deps = - WiFiManager=https://github.com/alexhopeoconnor/WiFiManager.git#v3.0.5 - ESP32Async/ESPAsyncWebServer@3.9.1 + WiFiManager=https://github.com/alexhopeoconnor/WiFiManager.git#v3.0.6 [env:esp8266] extends = common platform = espressif8266 board = d1_mini framework = arduino -lib_deps = - ${common.lib_deps} - ESP32Async/ESPAsyncTCP@2.0.0 [env:esp32] extends = common -lib_deps = platform = espressif32 board = esp32dev framework = arduino - ${common.lib_deps} - ESP32Async/AsyncTCP@3.4.9 ``` The text after `#` is a Git ref. PlatformIO clones the repository and checks diff --git a/library.json b/library.json index c5b4089..74be409 100644 --- a/library.json +++ b/library.json @@ -1,6 +1,6 @@ { "name": "WiFiManager", - "version": "3.0.5", + "version": "3.0.6", "keywords": [ "wifi", "wi-fi", @@ -40,18 +40,18 @@ ], "dependencies": [ { - "owner": "ESP32Async", + "owner": "esp32async", "name": "ESPAsyncWebServer", "version": "3.9.1" }, { - "owner": "ESP32Async", + "owner": "esp32async", "name": "ESPAsyncTCP", "version": "2.0.0", "platforms": "espressif8266" }, { - "owner": "ESP32Async", + "owner": "esp32async", "name": "AsyncTCP", "version": "3.4.9", "platforms": "espressif32" @@ -63,8 +63,7 @@ ], "build": { "includeDir": "lib/WiFiManager/include", - "srcDir": "lib/WiFiManager/src", - "extraScript": "tools/platformio/dependencies.py" + "srcDir": "lib/WiFiManager/src" }, "export": { "include": [ diff --git a/test/compile-project/platformio.ini b/test/compile-project/platformio.ini index 82e21ad..0cdff75 100644 --- a/test/compile-project/platformio.ini +++ b/test/compile-project/platformio.ini @@ -3,10 +3,9 @@ default_envs = esp8266 [common] framework = arduino -lib_ldf_mode = chain +lib_ldf_mode = deep+ lib_deps = WiFiManager=symlink://../.. - ESP32Async/ESPAsyncWebServer@3.9.1 [env:esp8266] extends = common @@ -18,7 +17,6 @@ build_flags = -DWM_LOG_LEVEL=3 lib_deps = ${common.lib_deps} - ESP32Async/ESPAsyncTCP@2.0.0 [env:esp32] extends = common @@ -30,4 +28,3 @@ build_flags = -DWM_LOG_LEVEL=3 lib_deps = ${common.lib_deps} - ESP32Async/AsyncTCP@3.4.9 diff --git a/tools/platformio/dependencies.py b/tools/platformio/dependencies.py deleted file mode 100644 index 7f7a91f..0000000 --- a/tools/platformio/dependencies.py +++ /dev/null @@ -1,24 +0,0 @@ -"""Expose WiFiManager's async dependencies to PlatformIO's nested library builds.""" -from __future__ import print_function - -import glob -import os - -from SCons.Script import Import - -Import("env") - - -def append_dependency_include(package_prefix): - """Add the installed package's source directory when PlatformIO has it.""" - package_root = env.subst("$PROJECT_LIBDEPS_DIR") - candidates = glob.glob(os.path.join(package_root, package_prefix + "*", "src")) - if candidates: - env.Append(CPPPATH=[candidates[0]]) - - -append_dependency_include("ESPAsyncWebServer") -if env.subst("$PIOPLATFORM") == "espressif8266": - append_dependency_include("ESPAsyncTCP") -elif env.subst("$PIOPLATFORM") == "espressif32": - append_dependency_include("AsyncTCP")