mirror of
https://github.com/alexhopeoconnor/WiFiManager.git
synced 2026-10-04 02:48:13 +10:00
fix: resolve PlatformIO async dependencies
This commit is contained in:
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
+5
-6
@@ -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": [
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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")
|
||||
Reference in New Issue
Block a user