7d0a17196c
Work towards https://github.com/dart-lang/sdk/issues/61868 This adds a new notification type, 'PluginPrint'. There are several fields and variables then named 'pluginPrint' or 'print', and I am definitely open to changing these names, but this is the best one that I thought of. PluginPrint has three fields: The name of the plugin that printed, the message that was printed, and the timestamp. We wrap each plugin's AnalysisRule invocations with a zone, so that the `print` handler can know the name of the plugin. The prints are caught and sent to the server isolate as Notifications. The PluginIsolate then stores the collected prints. The Plugins Insights page can then retrieve them and display them. Manual testing, with 1000 libraries that get new lint reported once per file, I did not observe a negative performance impact. Change-Id: Id800ae41781c15ce89d06b563878c2b0edae43d3 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/486827 Reviewed-by: Brian Wilkerson <brianwilkerson@google.com> Commit-Queue: Samuel Rawlins <srawlins@google.com>
This directory contains sources for the "prototype" plugin system introduced
circa 2017, which is being replaced by the "new" plugin system introduced
circa 2024. The sources for the "new" plugin system are located in ../plugin2.