2020年4月26日日曜日

Arduinoのライブラリで依存関係を設定できるようになっていた話


背景

Arduino IDEとは、Arduinoという電子工作に便利な組み込みボード向けのプログラムを作れるソフトウェアです。
ArduinoIDEはライブラリをwebからダウンロードできるライブラリマネージャという機能があり、それにライブラリの依存関係を管理する機能が追加されていることを先日見つけました。
(Arduino向けのライブラリの作り方は別の記事でまとめています。)

設定方法や使えるようになった時期が気になったので調べてみました。
備忘録を兼ねて分かったことを共有します。

設定方法

ライブラリの設定方法(Library Specification - Arduino CLI)によると、library.propertiesにdependsという設定を記述し、そこにカンマ区切りで依存するライブラリを記述できるようです。

例: Adafruiot-MAX31855のlibrary.properties


依存関係機能が使えるソフトウェア

Arduino IDE: 1.8.10以後 

Arduino IDEは2019年9月13日に公開されたバージョン1.8.10からdepends機能が動くようになったようです。


参考
依存関係について話題にしているフォーラム: Topic: library dependency manager coming to arduino IDE
依存関係機能のプルリクエスト: Library manager: dependency resolver (take 2)

PlatformIO: 4.2 以後

PlatformIOでは2020年2月12日に公開されたバージョン4.2以後でlibrary.propertiesのdepends機能が動くようになったようです。


参考
Add library.json for PlatformIO
Support `depends` from `library.properties`
platformio 4.2.0

まとめ

2019年の9月から、Arduinoのライブラリで依存関係が設定できるようになっていました。
ライブラリを作る際に重複する処理があるなら、処理を共有するためのライブラリを作ってそれを依存関係に設定することで、コードの重複を防げそうです。

0 件のコメント :