Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Add library request: KeyboardAzertyFr #6896

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

Closed
martin-leo opened this issue Nov 7, 2017 · 7 comments
Closed

Add library request: KeyboardAzertyFr #6896

martin-leo opened this issue Nov 7, 2017 · 7 comments
Labels
Component: Board/Lib Manager Boards Manager or Library Manager

Comments

@martin-leo
Copy link

Hello,

I made a Keyboard library fork to support the french azerty keyboard layout.

You can check it at this address : https://github.com/martin-leo/KeyboardAzertyFr

Best regards.

@per1234
Copy link
Collaborator

per1234 commented Nov 7, 2017

Please update the name and version values in your library.properties file and then create a release or tag that matches the version value. Since there is already a tag for the current version value (which was inherited from the fork when the library was still named "Keyboard") you should increment the version before creating the new release.

After doing so, please comment here to let us know we can proceed with adding your library to the Library Manager index.

For more information see:
https://github.com/arduino/Arduino/wiki/Library-Manager-FAQ

@per1234 per1234 added Component: Board/Lib Manager Boards Manager or Library Manager Waiting for feedback More information must be provided before we can proceed labels Nov 7, 2017
@martin-leo
Copy link
Author

I'm not sure of exactly what to do but I tried to follow your instructions. Is this Okay ? : https://github.com/martin-leo/KeyboardAzertyFr/releases/tag/1.0.1-fr

@per1234
Copy link
Collaborator

per1234 commented Nov 7, 2017

Here's my concern: In Semver when you append a hypen and then a string to a version number that's considered a pre-release. So that means that 1.0.1 actually has precedence over 1.0.1-fr. This could possibly cause two different problems:

The permanent name chosen by Library Manager for the library.
From #5058 (comment)

Previously it was possible to change name between releases, now this is no more allowed and libraries must keep the name they used when registered. If the name in library.properties is changed the indexer will override this setting and always use the name used during registration.
...
I've selected the name used in the latest release, in bold in the table above, as the official name.

In the GitHub releases page 1.0.1-fr is indeed shown as the latest release but I don't know whether the Library Manager indexer uses Semver version order to determine what is considered the "latest release".

The other concern would be that, even if the correct name is chosen, when someone installs a library via Library Manager the highest version number is chosen by default, which should be 1.0.1, not 1.0.1-fr. If you want to install a different version then you need to choose it from the version menu and even then if it's not the latest version and the user has update notifications enabled then they will get nagged by the IDE to "update" the library even though in this case that would mean a downgrade since it would mean replacing 1.0.1-fr with 1.0.1.

That's all just my suspicions. I don't know whether any of that would happen or whether Library Manager will be able to ignore the inherited releases. @cmaglie is the expert on this and he can give a definitive verdict on this when he gets a chance to review this request.

If it does end up being a problem I see a couple of options to fix it:

  1. Delete the tags inherited from the Keyboard library.
  2. Change your release version to be indisputably higher than the previous tag. If you still want to preserve the Keyboard library version number you could add that as a pre-release (even though that's not really the intended usage). For example: 1.0.2-keyboard.1.0.1 or using the build metadata scheme: 1.0.2+keyboard.1.0.1

@per1234 per1234 removed the Waiting for feedback More information must be provided before we can proceed label Nov 7, 2017
@martin-leo
Copy link
Author

martin-leo commented Nov 7, 2017

Thank you for this long (not too much), documented and useful answer.

Based on this information I chose to :

  1. delete the inherited tags and releases (they are releases of the original and I think it makes sense to delete them here)
  2. make a new release with 1.0.1 as a version number to remain coherent with the original library (as it is simply a kind of localization).

Do you think this will do ? I do not mind to do some additional modification if it can be improved.

@per1234
Copy link
Collaborator

per1234 commented Nov 7, 2017

You forgot to change the version value in library.properties before you created the 1.0.1 release. Other than that I think any potential problems have been avoided by removing the inherited tags.

Please comment once you have resolved the version value issue.

@per1234 per1234 added the Waiting for feedback More information must be provided before we can proceed label Nov 7, 2017
@martin-leo
Copy link
Author

martin-leo commented Nov 7, 2017

I changed the version value in library.properties, deleted the previous release and generated a new one.

@per1234 per1234 removed the Waiting for feedback More information must be provided before we can proceed label Nov 7, 2017
@cmaglie
Copy link
Member

cmaglie commented Nov 9, 2017

Done!

@cmaglie cmaglie closed this as completed Nov 9, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component: Board/Lib Manager Boards Manager or Library Manager
Projects
None yet
Development

No branches or pull requests

3 participants