SonarQube Cloud, SonarQube Server, or SonarQube Community Build? (if one of the latter two, which version?):
And a thorough description of the problem / question:We are planning to upgrade our Eclipse plugin to the latest SonarLint version (11.x). In our current implementation, we use the extension point org.sonarlint.eclipse.core.projectConfigurators to dynamically resolve dependency paths (e.g., COBOL copybook paths) and supply them for scanning.
Since this extension point was removed in SonarLint 11.0, could you please advise if there is any alternative or recommended approach to achieve similar functionality? Our requirement is to provide SonarLint with the correct dependency paths during analysis for complete and accurate scans.
the extension point was removed as it was deprecated for almost 12 years at that point The replacement has been org.sonarlint.eclipse.core.analysisConfigurator with the corresponding interface over at org.sonarlint.eclipse.core.analysis.IAnalysisConfigurator.
This can be used to convert your logic nearly 1 to 1, except for what was once org.sonarlint.eclipse.core.configurator.ProjectConfigurator#analysisComplete(…), this was moved to the new extension point (interface) but is deprecated and is not triggered anymore, please see the corresponding Javadoc with a hint on how to handle the change.
In the meantime, also 3 new extension points were added:
org.sonarlint.eclipse.core.connectionTokenProvider that is used to provide the Connected Mode token. It was requested COBOL IDE vendors that build IDEs without the Eclipse Equinox Secure Storage.
org.sonarlint.eclipse.core.projectHierarchyProvider that is used for hierarchy in project structures, not sure if this is relevant in the context of COBOL.
org.sonarlint.eclipse.core.projectScopeProvider that is used to exclude files in the project from the analysis and the overall scope of operations. This is useful to speed up both the analysis and basically everything else in case a project is littered by non-relevant files (like configurations, temporary stuff from the IDE or other plug-ins).
This should help, if you need some more in-depth help please provide as much information as possible as this differs from case to case and from third-party-plugin to another