sonos / dinghy

Easier cross-compilation for phones and single boards computers
Other
367 stars 44 forks source link

Introduce plugin platform #242

Closed fredszaq closed 1 week ago

fredszaq commented 1 week ago

This adds a new platform manager to dinghy, that can be used to dynamically configure devices and platforms.

This platform manager will auto-detect any executable in the PATH that starts with cargo-dinghy- and try to use them as a plugin to provide devices and platforms.

To be a valid plugin, an executable must implement the following subcommands:

Here is example of output for a cargo-dinghy-foo plugin configuring a bar device and a baz platform:

$ cargo-dinghy-foo devices
[ssh_devices.bar]
hostname = "127.0.0.1"
username = "user"

$ cargo-dinghy-foo platforms
[baz]
rustc_triple = "aarch64-unknown-linux-gnu"
toolchain = "/path/to/toolchain"

This is quite useful if you have a bench of devices and platforms that can be auto-detected or are already configured in another tool.