-
Notifications
You must be signed in to change notification settings - Fork 495
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Arduino library compatibility #92
Conversation
Rename src files and library to follow Arduino's library guidelines: https://arduino.github.io/arduino-cli/latest/library-specification/
Bump version to 2.0.0 - Not backwards compatible with file name changes
Can we get this merged? |
I like this idea, but first a question. Is there any way of accomplishing this without breaking every TinyGPS++ sketch ever written? I thought to try creating a dummy TinyGPSPlus.h file that simply #included the (current) TinyGPS++.h, but I'm not sure this completely solves the problem, does it? |
The only change that is required in order to be accepted into the Arduino Library Manager index is to make the
Once a library is in Library Manager, changing this In addition to checking the libraries for compliance with the hard requirements that allow them to play nicely with the system, the Arduino Lint tool used by the system also runs checks for best practices. Violations of these result in a warning. There is no requirement to resolve these warnings. They are only suggestions for possible improvements. One of these suggestions is for the library to contain a header file matching the library name. The library name determines the Library Manager installation folder name and header/library folder name matching is a factor in dependency resolution when two installed libraries contain a header matching an |
Wrapper header for library name change Provides backwards compatibility
revert version bump
Wrapper header for dummy header
@per1234 Thanks for the insight.
Let me know if you'd prefer that I create a new pull request from a branch with the commit history cleaned up. |
@mikalhart Just wanted to double check if the new changes work for you. |
Hi @mikalhart. I just wanted to check in with you to see whether you have had a chance to look at this proposal. If you have any questions or concerns regarding the Arduino Library Manager, I'll be happy to assist. |
Update: I just noticed that while this proposal was pending another library claimed the "TinyGPSPLUS" library name in the Arduino Library Manager registry: Since it is the sole unique identifier of the library, each library must have a unique name (case insensitive). So you will need to pick another one that has not yet been taken. |
@per1234 That library (https://github.com/Tinyu-Zhao/TinyGPSPlus) appears to be a fork of this repository. If @mikalhart decides to incorporate these changes, could we overwrite the forked library with this one? Otherwise, I can leave a note in issue #85 about the "TinyGPSPLUS" library name being taken and close all the related pull requests, until another library name is decided on. |
For PlatformIO library naming, you can prefix the name with the Github account, just like in the url here. Not sure how Arduino libraries are managed, but you could simply create a name with the Github name prefixed? |
The only way to gain possession of the name would be for the owner to request Arduino to either remove their library from the Library Manager or else to change the name it is registered under. You would need to work that out with the current owner of the name.
Here are the naming requirements: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format
So you are welcome to use any name that meets those requirements and is not already taken. |
I'll close this pull request and arduino/library-registry#110; and leave issue #85 open with a note about the library name being taken. I am happy to submit new pull requests, when a library name is chosen. |
I saw discussions on adding the name to Arduino. IT went on for months, so the other guy just went ahead and placed it in the arduino library repository. It wasn't done in secret or anything...just a guy being proactive. |
Yep, it may be done with good intentions, but now there is the problem that the one that is in the Arduino library manager is not the one of the main repository. |
Reopening pull request in regards to checklist: #85 (comment) |
Thanks to all of you for the attention to this issue. @santaimpersonator @per1234 |
As mentioned in this issue (#85), the library name and file names don't comply with Arduino's specifications:
TinyGPS++
toTinyGPSPlus
(which also reflects the repository name)TinyGPS++
toTinyGPSPlus
TinyGPS++
in the code and examples were also transitioned toTinyGPSPlus
2.0.0
to reflect backwards incompatibility due to renaming of the source files