Closed gojimmypi closed 6 months ago
You can have only 1 library in the PlatformIO Registry which will be the mirror of https://github.com/wolfSSL/wolfssl. Having library.json
manifest and platform-build.py
extra script will let developers use original source code for any framework including Arduino. Regarding Arduino-wolfSSL
- we don't need it in the PlatformIO Registry, the original https://github.com/wolfSSL/wolfssl will be enough.
I've addressed this by publishing two different libraries: We are providing two different Official wolfSSL libraries: standard and another specifically for Arduino:
There are also two different versions: the stable release versions (above) and these staging updates, with the latest post-release changes.
The stable release versions will generally follow our standard release cycle. The initial 5.7.0 versions include post stable-release updates needed for the Initial PlatformIO support.
You can have only 1 library in the PlatformIO Registry which will be the mirror of https://github.com/wolfSSL/wolfssl
I chose to have two different libraries as publishing the Arduino-wolfSSL
is a trivial matter as the files are already in the proper directory format. Plus, the included examples are specific to Arduino, such as the wolfssl_client.ino.
Publishing the regular wolfSSL was considerably more complex, and required a somewhat similar reorganization of directories in order to work properly in the PlatformIO environment. The respective examples (currently only in my fork, PR coming soon) ... are also different, and not .ino
files. If there's a better way of doing this, I'm open to suggestions.
There's definitely work remaining for PlatformIO, as although wolfSSL seems to be working well for the ESP32, I had a much more difficult time with an STM32 board.
In any case, this naming convention issue can be closed.
@ivankravets over at PlatformIO made a comment regarding the name of wolfSSL in the Arduino registry:
The issue being that if there's a name consistency, the wolfSSL for Arduino library will apparently propagate automatically to PlatformIO.
The instance of wolfSSL currently in the PlatformIO registry was published manually:
https://registry.platformio.org/libraries/wolfssl/wolfssl
Although that sounds simple enough, there are implications. For one, I would be concerned that when searching for wolfSSL in the Arduino registry, that having a name other than
wolfssl
might not be entirely desirable.I like the fact that wolfSSL is call, well, simply
wolfssl
in the Arduino registry:However, I also agree that there's some inconsistency in this repo
Arduino-wolfSSL
being the same as wolfssl, but restructured for Arduino compatibility as noted in https://github.com/wolfSSL/Arduino-wolfSSL/pull/1#issuecomment-1944819248 and in particular https://github.com/arduino/arduino-cli/issues/631.There's probably an argument that the PlatformIO version of wolfSSL should have a unique name. In fact, we are going to need at least two unique names for wolfSSL in the PlatformIO registry: not only should there be an Arduino environment version of wolfSSL, but also at least one other for the Espressif ESP-IDF environment in a different format / layout.
My inclination is to leave the Arduino properties as-is, and continue to manually publish to PlatformIO.
I'm looking for input regarding the desired naming convention.
See also:
https://www.arduino.cc/reference/en/libraries/wolfssl/
https://downloads.arduino.cc/libraries/logs/github.com/wolfSSL/Arduino-wolfSSL/