sdedic removed a comment on pull request #2948: URL: https://github.com/apache/netbeans/pull/2948#issuecomment-840376942
Asking for an initial review. Outline of the changes: - adapted @JaroslavTulach prototype of a declarative action provider for Maven. Actions can be contributed using module's layer registrations; examples provided in docs. - synced Maven's extensibilty with Gradle: a module may inject service into project's Lookup when a certain plugin is configured for the project. This is present in Gradle and is IMHO beneficial for Maven too. - improved interaction of default GUI and the declarative `MavenActionProviders`; supplied actions can be customized. - Branding API for Maven to mask out POM-profile implied configurations; just real configurations (user or module-provided) will be visible in Configuration chooser - Exported Configurations over LSP. Launch config may specify the desired configuration (unspecificed = the active one). --- **A somewhat controversial change** is the introduction of `ActionProvider.ConfigurationAware` interface. For the purpose of this PR, the `getSupportedActions` method does not get enough context: an action may be defined for a specific configuration only (in Maven). An option would be to disallow defining new action IDs local to a configuration; or merge all IDs form all configurations. Discussed offline with @dbalek whether it is preferrable to pass the selected `ProjectConfiguration` in the context Lookup (see docs for ProjectConfigurationProvider); the result was that given both concepts are exposed in the Project API, wormholing through Lookup seems awkward - so I introduced `ConfigurationAware` to create a configuration-bound `ActionProvider` instance. I developed the implementation, but I need to get review on this `ConfigurationAware` concept now. If approved, I neeed to provide `ProjectUtils` methods for API clients, so they need not interact with ProjectConfigurationProvider SPI that much + provide compatibility bridge. If disapproved, I need to change Maven implementation to merge IDs from known configuration to supported IDs. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected] For further information about the NetBeans mailing lists, visit: https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists
