Arduino IDEのライブラリ一覧に自作ライブラリを登録する

概要

Arduino IDEにライブラリを複数登録し、バージョンアップもためしてみたので文章にまとめました。

本家のライブラリに登録されるとArduino IDEからライブラリをかんたんにインストールすることができるようになります。

参考サイト

上記が参考になります。

登録ライブラリ

上記の2つを登録してみました。

ディレクトリ構成

一番重要なのはディレクトリ構成だと思います。

事前にGitHubにコミットしている必要があります。

UlpDebug
|   library.properties
|   README.md
|
+---examples
|   \---UlpBlink
|           UlpBlink.ino
|
\---src
        UlpDebug.h

上記が最低限必要そうなファイルです。

library.properties

name=ESP32 ULP Debugger
version=1.1.0
author=TANAKA Masayuki
maintainer=TANAKA Masayuki
sentence=Arduino ESP32 ULP Debugger libraries.
paragraph=Arduino ESP32 ULP Debugger libraries.
category=Display
url=https://github.com/tanakamasayuki/UlpDebug
architectures=*
includes=UlpDebug.h

上記が設定ファイルです。設定項目は参考サイトを見てもらえればと思いますが、categoryはすでにあるものから選ぶ必要がありますので注意してください。

README.md

使い方をかんたんに書きます。基本的には英語で書いた方がいいと思います。日本語を準備する場合にはREADME_ja.mdなどの名前で入れておきます。

examples

必須ではないですが、なにか使い方がわかるスケッチ例を入れておくことを推奨します。

src

srcフォルダの中に必要なファイルを入れておきます。この中が実際に利用されます。

リリースの作成

GitHubでリリースを行います。画面上からリリースの追加を行い、1.0.0などのタグを作成し、上記のファイル一式をZIPに圧縮したファイルを添付します。

このZIPファイルが実際に利用されます。

上記がリリースページです。

登録申請

Arduino IDEからインストールできるために、ライブラリ一覧に登録してもらう必要があります。

GitHubのPRで登録依頼をすると、不備がなければ登録してもらえます。

repositories.txtに該当ライブラリのURLを追加してPRを出すことで、形式上に不備がなければ数日たてば登録されます。

動作確認

登録されたあとにArduino IDEからライブラリをインストールして動作確認します。

バージョンアップ

バージョンアップはGitHubで新しいリリースを行うと、自動的に更新されます。注意点としてはlibrary.propertiesのバージョン番号を忘れずに更新する。

新しいバージョンの準備ができたら、再度リリースを行います。ZIPファイルに圧縮して、添付することでリリースが完了します。

反映をまつ

数時間に1度ぐらいのタイミングでArduino IDEのバックエンドサーバーが更新確認をしてくれているようです。

4時間ぐらいはかかると思ったほうがいいと思いますので、翌日に確認してみるぐらいの余裕が必要だと思います。

動かないようなバージョンをリリースしてしまった場合には、さらに新しいバージョンに更新してから、動かないバージョンを消すなどの方がいいと思います。

まとめ

ライブラリはおそらく形式が整っていれば、気軽に登録してくれる気がします。みなさんどんどん登録してみては?

ちなみにArduino IDEに登録すればPlatformIOにも登録されます。

ただし、バージョンアップの反映はArduino IDEが反映された、さらに数時間後とかになると思いますんで、結構時間がかかると思います。

コメント

  1. chrmlinux03 より:

    お疲れさまでございます
    無事 申請通りました
    ご賞味くださいませ
    https://qiita.com/chrmlinux03/items/388a0a775ef236ca3176

    • たなかまさゆき より:

      おめでとうございます
      issuesからPRを出すフローに変わったので更新しなければ。。。