arduino / arduino/ArduinoCore-mbed
[ACELL02] Incomplete `library.properties` file for the GSM library
- Dominant language
- C
- Stars
- 411
- Forks
- 225
- PR merge metrics
- No merged PRs in 30d
Description
The [GSM library included as part of the core](https://github.com/arduino/ArduinoCore-mbed/tree/main/libraries/GSM) is accessible for all users of the Arduino IDE who have a board with a supported `architecture` attached. There are several issues with this file from a User perspective:
https://github.com/arduino/ArduinoCore-mbed/blob/dd5abb6171063b2777620b9339510c63b915ce72/libraries/GSM/library.properties#L1-L9
- The GSM library inside the mbed core (this repo) as well as the [standalone GSM library](https://github.com/arduino-libraries/GSM/blob/b8a6f9d0fcd09ab0283ec72e765dea4f8887f834/library.properties#L1) have the same name field
- The version number has stayed static at `version=1.0` since this file was created. Since then potentially breaking changes have been made, such as https://github.com/arduino/ArduinoCore-mbed/commit/bed52018a551dd790b40822169c5562d261c1cbb.
- The value for `sentence` is `GSM wrapper` which does little to convey what this library does. As I understand from the commits, this library includes compiler directives specifically to provide functionality for the Portenta Edge Control. https://github.com/arduino/ArduinoCore-mbed/blob/dd5abb6171063b2777620b9339510c63b915ce72/libraries/GSM/examples/GSMSSLClient/GSMSSLClient.ino#L14-L16 According to the Arduino Library Specification, the `sentence` field must be [a sentence explaining the purpose of the library](https://github.com/arduino/arduino-cli/blob/dc13ef6498ae0c39d8185c5f592bb149377a2b83/docs/library-specification.md?plain=1#L53)
- The `paragraph` field is empty
- The `category` field is set to `Other`, while `Communication` seems more reasonable
- The `url` field links to http://www.arduino.cc/en/Reference/GSM . This is the same url mentioned in [arduino-libraries/GSM](https://github.com/arduino-libraries/GSM/blob/b8a6f9d0fcd09ab0283ec72e765dea4f8887f834/library.properties#L8).
```
url=http://www.arduino.cc/en/Reference/GSM
```
## Additional considerations
- Even though the library is part of the core and the `sentence` as well as `paragraph` fields are not directly visible in the IDE, making sure the library is documented helps with contributors.
- The standalone GSM library has exactly the same name (i.e. is also included in the sketch via `#include "GSM.h"`)
- According to http://www.arduino.cc/en/Reference/GSM, the library is for the `Arduino GSM Shield` (red) and `is archived and is no longer maintained` (green). However, upon deeper inspection this seems to be regarding the [arduino-libraries/GSM](https://github.com/arduino-libraries/GSM). The statement `The GSM Library is included with [Arduino IDE 1.0.4 and later](https://www.arduino.cc/en/Main/Software).` (blue) is however correct for the GSM library included inside the core and NOT the standalone library

Contributor guide
No contributing guide indexed for this repository
Research direction
Open libraries/GSM/library.properties and compare its name, version, sentence, paragraph, category, and URL fields with the Arduino Library Specification and the standalone GSM library metadata linked in the issue. Update the incomplete or misleading metadata, then verify that the file accurately describes this core GSM library and distinguishes it from the standalone library.
Written by the indexing model from the issue text.
Assessment
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100