4. プラグイン開発方法

4.1. ビルド

アプトポッド製のデバイスコネクター(device-connector-intdash) 向けにプラグインを開発する場合、 テンプレートのタグ(バージョン)との対応関係 を確認し、パッケージバージョンに合ったテンプレートを使用してプロジェクトを作成してください。

cargo generate --git https://github.com/aptpod/device-connector-template.git --tag <テンプレートのタグ>

作成したプロジェクトにあるDockerfileを使用してクロスビルドすることで、プラグインを開発できます。

注釈

詳細については、作成したプロジェクトのREADME.mdを参照してください。

4.2. 依存クレートの追加時の注意点

Cargo.toml[dependecies] にクレートを追加してビルドした際に、以下のようなエラーが出る場合があります。

error: package `time v0.3.29` cannot be built because it requires rustc 1.67.0 or newer, while the currently active rustc version is 1.65.0
Either upgrade to rustc 1.67.0 or newer, or use
cargo update -p time@0.3.29 --precise ver
where `ver` is the latest version of `time` supporting rustc 1.65.0

この場合、依存クレートのバージョンをクロスビルド環境のRustバージョンでビルド可能なものに更新する必要があります。 以下のコマンドでクレートのバージョンを更新してください。

例: timeクレートのバージョンを Rustバージョン 1.65.0 でビルド可能なバージョン 0.3.23 に更新する

cargo update -p time@0.3.29 --precise 0.3.23

注釈

クレートのバージョンは crates.io で検索できます。 クレートによっては、クレートのバージョンでサポートするRustバージョンを確認できます。 (例: time