4.4 KiB
Tutorial 8b - sharing your keybrd extension library
Publishing and listing your keybrd extension library allows others to find and install your library. The keybrd extension library name should start with "keybrd_" so that it is easy for other people to find.
There are two ways to publish and list an Arduino library.
Publish anywhere and list on Arduino Playground
Publishing your keybrd extension library with the following directory structure makes it easy for others to understand.
keybrd_MyKeyboard/
doc/
keybrd_MyKeyboard_guide
examples/
keybrd_MyKeyboard1/
keybrd_MyKeyboard1.ino
keybrd_MyKeyboard2/
keybrd_MyKeyboard2.ino
class1.cpp
class1.h
class2.cpp
class2.h
..
instantiations_codes.h
instantiations_rows.h
When your ready to list your keybrd extension library, add a link and short description of your keybrd extension library to the Arduino Playground keybrd page under "keybrd extension libraries". Arduino playground is a wiki. Links on how to edit the wiki are on the bottom left under "Participate".
Publish on GitHub and list on Arduino Library-Manager and Arduino Playground
The advantage of using GitHub is that users can submit pull requests. The advantage of using Arduino Library-Manager is that users can easily find and install your library through the Arduino IDE.
Arduino Library-Manager is particular about the directory structures it accepts. A library.properties file and a src folder need to be placed in your keybrd extension library like this:
keybrd_MyKeyboard/
library.properties
doc/
keybrd_MyKeyboard_guide
examples/
keybrd_MyKeyboard1/
keybrd_MyKeyboard1.ino
keybrd_MyKeyboard2/
keybrd_MyKeyboard2.ino
src/
class1.cpp
class1.h
class2.cpp
class2.h
..
instantiations_codes.h
instantiations_rows.h
The library.properties file is described in https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5:-Library-specification
Example library.properties file:
name=keybrd_MyKeyboard
version=1.2.3
author=Me
maintainer=Me
sentence=An extension to the keybrd library for the MyKeyboard.
paragraph=This library demonstrates my feature.
category=Device Control
url= (instert your MyKeyboard github repo URL here)
architectures=*
Instructions for listing a library on Arduino Library Manager are at: https://github.com/arduino/Arduino/wiki/Library-Manager-FAQ
After it has been accepted into the Arduino IDE Library Manager, add a link and short description of your keybrd extension library to the Arduino Playground keybrd page under "keybrd extension libraries". Arduino playground is a wiki. Links on how to edit the wiki are on the bottom left under "Participate".
To publish a new release of a library that is already listed on Arduino Library Manager
-
Update the version in your library.properties file:
version=0.5.0
-
Commit
-
Create an annotated tag with the version number:
$ git tag -a v0.5.0 -m "version 0.5.0"
-
Push:
$ git push -u --tags origin master
Arduino will eventually publish your new release.
keybrd tutorial by Wolfram Volpi is licensed under a Creative Commons Attribution 4.0 International License.
Permissions beyond the scope of this license may be available at https://github.com/wolfv6/keybrd/issues/new.