Example stable plugins with settings (#92334)

New stable plugins example with injected settings.
Plugin developer creates an interface and annotates it with @AnalysisSettings.
The constructor in a plugin component (annotated with @NamedComponent) has to be annotated with @Inject
Upon plugin component creation an implementation of the interface will be created - a dynamic proxy - which will delegate methods from interface to properties in a Settings instance.
This PR introduces an example of using all currently supported types : int, long, double, string and list (of strings)
relates ##88980
This commit is contained in:
Przemyslaw Gomulka 2023-01-11 18:04:14 +01:00 committed by GitHub
parent f7226a7c42
commit 742c6f3f8b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
25 changed files with 422 additions and 229 deletions

View file

@ -23,4 +23,6 @@ public @interface ListSetting {
* A name of a setting
*/
String path();
String[] def() default {};
}