Skip to content

Conversation

umbynos
Copy link
Contributor

@umbynos umbynos commented Jul 12, 2023

This change in the interface allows more flexibility in the plugin:
We can now develop a plugin for a family of boards (NINA boards for example). Previously we the only possibility could have been a plugin for every board.
The flag is completely optional, and it is the responsibility of the plugin to use it or to ignore it.

@umbynos umbynos added type: enhancement Proposed improvement topic: code Related to content of the project itself labels Jul 12, 2023
@umbynos umbynos self-assigned this Jul 12, 2023
@umbynos umbynos merged commit 6e9ef67 into main Jul 12, 2023
@umbynos umbynos deleted the add-fqbn branch July 12, 2023 13:47
umbynos added a commit to arduino/arduino-fwuploader that referenced this pull request Jul 12, 2023
umbynos added a commit to arduino/arduino-fwuploader that referenced this pull request Jul 13, 2023
cmaglie pushed a commit to arduino/arduino-fwuploader that referenced this pull request Jul 13, 2023
cmaglie added a commit to arduino/arduino-fwuploader that referenced this pull request Jul 14, 2023
* Removed useless 'required' tag

* Added fields for plugin system

* Made LatestFirmware a method of BoardIndex

* Fixed some linter warnings

* Tools required for plugins are now downloaded

* Created infrastructure for plugin based get-version

Equivalent code changes, no changes in behaviour

* Added FwPlugin object to ease access to fwuploader-plugins

* get-version now supports fwuploader-plugins

* Added license cache

* Better recording of errors from plugins

* Extracted function to exec fwuploader plugins

* Small cosmetic changes

- perform arg checks early
- removed unneeded err variable in function scope

* Another cosmetic change

* Prepared scaffolding for flash-firmware command using plugins

* Implemented plugin-based firmware upload

* Using packagemanager to handle package_index downloads

* Added additional index URLx flags to ease plugin development

* Added missing license data

* Allow file paths as additional 'urls'

* Verify signarure only on offical indexes

* Improve error messages and avoid panic in case of missing tool

* Avoid double buffering of command output in getFirmwareVersion

* Allow merging with overwrite

This means that additional indexex are allowed to overwrite official boards.

* Added plugin-based firmware index

* add support for arduino/fwuploader-plugin-helper#9 (#174)

* Created scaffolding to implement certificate upload via plugin

* Removed useless variable

* Avoid globals arguemnts in flash-certificate

* Factored function to scrape TLS certs from webserver

* Factored function to read certificates

* Small refactoring in cert building subroutines

* Factored function to encode certs as PEM

* Added certificate flash support for plugins

* fix licensed

* Make board override less strict

* Do not consider LICENSE files in plugins archive

* Fixed PEM decoding... 🤦

* pass `-v` and `--log-level` to plugin (#175)

* move vars to global

* add support for arduino/fwuploader-plugin-helper#10

* Update cli/common/common.go

Co-authored-by: Umberto Baldi <[email protected]>

* Renamed variable for clarity

---------

Co-authored-by: Umberto Baldi <[email protected]>
Co-authored-by: Umberto Baldi <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
topic: code Related to content of the project itself type: enhancement Proposed improvement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants