public SQMSBuildStartServiceFactory()

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())
                        )
                    );
                }
            }
        });
    }