Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add support for Pluggable Discoveries (#1333)
* [skip changelog] Add DiscoveryManager to PackageManager * Add loading of PluggableDiscoveries when loading a platform release * Added compatibility layer for non-pluggable platforms * Implemented board list with discoveries * Implemented discovery loading after initialization * Implemented board watch with discoveries * Fix load discoveries tests * Fix some issues with board list watcher * Fix FindToolsRequiredFromPlatformRelease not returning discoveries * Enhanced handling of some discoveries states * Fix PackageManager reset * Add function to convert discovery.Port to rpc.Port * Moved reference argument parsing to new package * Fix functions docstrings * Remove duplicated code to initialize Sketch path * Add property conversion for platform not supporting pluggable discovery * Fix board list watch not working * Fix crash when converting Port to rpc struct * Add generic Port argument * Change gRPC upload functions to use new Port message * Add support for upload user fields * Fix upload unit tests * Fix code naming issues * Added builtin:mdns-discovery * Do not panic if discovery tool is not installed * Implemented port/protocol detection at CLI startup time * Perform 1200bps-touch only on serial ports * Added missing properties for pluggable upload * Correctly implemented 'board list' timeout option * Updated mdns-discovery to 0.9.2 * Add documentation * Add board properties to board list command and gRPC function * Fix documentation and code comments Co-authored-by: per1234 <[email protected]> * Fix crash when attempting upload without specifying port address * Fix unit tests * Update go-properties-orderedmap to fix discovery properties issues * Fix more documentation Co-authored-by: per1234 <[email protected]> * Clarify pluggable discovery specification * More documentation fixes * Add upload_port properties docs in platform specification * Change links from pluggable discovery RFC to official docs * Add more upload mock integration tests * Fix integration tests * Change property to declare pluggable discoveries * Change property to declare pluggable discoveries * Fix documentation Co-authored-by: per1234 <[email protected]> * Fix loading of platform not supporting pluggable discovery * Fix more documentation Co-authored-by: per1234 <[email protected]> * Add pluggable discovery states documentation * Enhanced handling of pluggable discoveries states * Discoveries processes are now killed if the HELLO command fails * Add pluggable discovery logging * Enhanced handling of failing pluggable discoveries * Fix pluggable discoveries parallelization * Discoveries event channels are now created when start sync is called * Cached ports are now reset on discovery stop * Renamed ListSync methods to ListCachedPorts * Pluggable discovery upload user fields are now limited to 50 chars * Fix i18n strings * Fix failing integration tests * Fix i18n data * Fix integration tests again * [skip changelog] Internationalize strings added for pluggable discovery support (#1384) * Update docs/pluggable-discovery-specification.md Co-authored-by: per1234 <[email protected]> * Fix failing workflows * Updated upload-mock tests for generation * Added a lot of mock upload test (also with programmer option) * test_upload_mock: Handle '{' and '}' in recipes * network ota: autoconvert network_patter from legacy * Automatically add port detection properties for network discovery * Slightly improved 'board list' text output * Default 'board list' timeout to 1s * Added some code review fixes * Added unit test for legacy-package conversion to pluggable discovery Co-authored-by: Cristian Maglie <[email protected]> Co-authored-by: per1234 <[email protected]>
- Loading branch information