/*******************************************************************************
* Copyright (c) 2017 Synopsys, Inc
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Synopsys, Inc - initial implementation and documentation
*******************************************************************************/
package jenkins.plugins.coverity.Utils;
import jenkins.plugins.coverity.CIMStream;
import jenkins.plugins.coverity.CoverityPublisher;
import jenkins.plugins.coverity.InvocationAssistance;
import jenkins.plugins.coverity.ScmOptionBlock;
import jenkins.plugins.coverity.TaOptionBlock;
import java.util.List;
public class CoverityPublisherBuilder {
private CIMStream cimStream;
private InvocationAssistance invocationAssistance;
private boolean failBuild;
private boolean unstable;
private boolean keepIntDir;
private boolean skipFetchingDefects;
private boolean hideChart;
private TaOptionBlock taOptionBlock;
private ScmOptionBlock scmOptionBlock;
public CoverityPublisherBuilder withCimStream(CIMStream stream) {
this.cimStream = stream;
return this;
}
public CoverityPublisherBuilder withInvocationAssistance(InvocationAssistance invocationAssistance) {
this.invocationAssistance = invocationAssistance;
return this;
}
public CoverityPublisherBuilder withFailBuild(boolean failBuild) {
this.failBuild = failBuild;
return this;
}
public CoverityPublisherBuilder withUnstableBuild(boolean unstable) {
this.unstable = unstable;
return this;
}
public CoverityPublisherBuilder withKeepIntDir(boolean keepIntDir) {
this.keepIntDir = keepIntDir;
return this;
}
public CoverityPublisherBuilder withSkipFetchingDefects(boolean skipFetchingDefects) {
this.skipFetchingDefects = skipFetchingDefects;
return this;
}
public CoverityPublisherBuilder withHideChart(boolean hideChart) {
this.hideChart = hideChart;
return this;
}
public CoverityPublisherBuilder withTaOptionBlock(TaOptionBlock taOptionBlock) {
this.taOptionBlock = taOptionBlock;
return this;
}
public CoverityPublisherBuilder withScmOptionBlock(ScmOptionBlock scmOptionBlock) {
this.scmOptionBlock = scmOptionBlock;
return this;
}
public CoverityPublisher build() {
return new CoverityPublisher(
cimStream,
invocationAssistance,
failBuild,
unstable,
keepIntDir,
skipFetchingDefects,
hideChart,
taOptionBlock,
scmOptionBlock);
}
}