in sonar-plugin-agent/src/main/java/jetbrains/buildserver/sonarplugin/msbuild/SQMSBuildStartServiceFactory.java [36:65]
public SQMSBuildStartServiceFactory(@NotNull final SQMSBuildStartRunner sqmsBuildStartRunner,
@NotNull final OSType osType,
@NotNull final MonoLocator monoLocator,
@NotNull final SQMSBuildFinishServiceFactory sqmsBuildFinishServiceFactory,
@NotNull final EventDispatcher<AgentLifeCycleListener> dispatcher) {
mySQMSBuildStartRunner = sqmsBuildStartRunner;
myOSType = osType;
myMonoLocator = monoLocator;
mySqmsBuildFinishServiceFactory = sqmsBuildFinishServiceFactory;
mySonarQubeMSBuildScannerLocator = new SonarQubeMSBuildScannerLocatorImpl();
dispatcher.addListener(new AgentLifeCycleAdapter() {
@Override
public void beforeRunnerStart(@NotNull final BuildRunnerContext runner) {
if (runner.getRunType().equals(mySQMSBuildStartRunner.getType())) {
mySqmsBuildFinishServiceFactory.setUpFinishStep(new SonarQubeMSBuildScannerLocator() {
@Nullable
@Override
public String getExecutablePath(@NotNull final BuildRunnerContext runnerContext) throws RunBuildException {
return mySonarQubeMSBuildScannerLocator.getExecutablePath(runner);
}
}, runner.getWorkingDirectory(), new SQRParametersAccessor(
SQRParametersUtil.mergeAuthAndToolPathParameters(runner.getBuild().getSharedConfigParameters(), runner.getRunnerParameters())
)
);
}
}
});
}