package jetbrains.buildserver.sonarplugin;
import jetbrains.buildServer.agent.AgentBuildRunnerInfo;
import jetbrains.buildServer.agent.plugins.beans.PluginDescriptor;
import jetbrains.buildServer.agent.runner.CommandLineBuildService;
import jetbrains.buildServer.agent.runner.CommandLineBuildServiceFactory;
import jetbrains.buildServer.util.OSType;
import org.jetbrains.annotations.NotNull;
/**
* Created by Andrey Titov on 4/3/14.
*
* Factory for SQRBuildService
*/
public class SQRBuildServiceFactory implements CommandLineBuildServiceFactory {
@NotNull private final SonarQubeRunnerBuildRunner mySonarQubeRunnerBuildRunner;
@NotNull private final PluginDescriptor myPluginDescriptor;
@NotNull private SonarProcessListener mySonarProcessListener;
@NotNull private final OSType myOsType;
public SQRBuildServiceFactory(@NotNull final SonarQubeRunnerBuildRunner sonarQubeRunnerBuildRunner,
@NotNull final PluginDescriptor pluginDescriptor,
@NotNull final SonarProcessListener sonarProcessListener,
@NotNull final OSType osType) {
mySonarQubeRunnerBuildRunner = sonarQubeRunnerBuildRunner;
myPluginDescriptor = pluginDescriptor;
mySonarProcessListener = sonarProcessListener;
myOsType = osType;
}
@NotNull
public CommandLineBuildService createService() {
return new SQRBuildService(myPluginDescriptor, mySonarProcessListener, myOsType);
}
@NotNull
public AgentBuildRunnerInfo getBuildRunnerInfo() {
return mySonarQubeRunnerBuildRunner;
}
}