Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ public class CppcheckPublisher extends Recorder implements SimpleBuildStep {
private CppcheckConfig cppcheckConfig;

@DataBoundConstructor
public CppcheckPublisher() {this("", false, "", false, "", "", "", "", "", true, true, true, true, true, true, true, 500, 200, 0, true, false, false, false, false, false, false, false);}
public CppcheckPublisher() {this("", false, "", false, "", "", "", "", "", true, true, true, true, true, true, true, 500, 200, 0, true, false, false, false, false, false, false, false, false, false);}

@Deprecated
public CppcheckPublisher(String pattern,
Expand All @@ -77,12 +77,16 @@ public CppcheckPublisher(String pattern,
boolean displayPerformanceSeverity,
boolean displayInformationSeverity,
boolean displayNoCategorySeverity,
boolean displayPortabilitySeverity) {
boolean displayPortabilitySeverity,
boolean ignoreBuildResult,
boolean dontUpdateBuildResult) {

config = new CppcheckConfig();

config.setPattern(pattern);
config.setAllowNoReport(allowNoReport);
config.setIgnoreBuildResult(ignoreBuildResult);
config.setDontUpdateBuildResult(dontUpdateBuildResult);
config.setIgnoreBlankFiles(ignoreBlankFiles);
CppcheckConfigSeverityEvaluation configSeverityEvaluation = new CppcheckConfigSeverityEvaluation(
threshold, newThreshold, failureThreshold, newFailureThreshold, healthy, unHealthy,
Expand Down Expand Up @@ -182,6 +186,20 @@ public boolean getAllowNoReport() {
return config.getAllowNoReport();
}
@DataBoundSetter
public void setIgnoreBuildResult(boolean ignoreBuildResult) {
config.setIgnoreBuildResult(ignoreBuildResult);
}
public boolean getIgnoreBuildResult() {
return config.getIgnoreBuildResult();
}
@DataBoundSetter
public void setDontUpdateBuildResult(boolean dontUpdateBuildResult) {
config.setDontUpdateBuildResult(dontUpdateBuildResult);
}
public boolean getDontUpdateBuildResult() {
return config.getDontUpdateBuildResult();
}
@DataBoundSetter
public void setSeverityError(boolean severityError) {
config.getConfigSeverityEvaluation().setSeverityError(severityError);
}
Expand Down Expand Up @@ -312,7 +330,7 @@ public CppcheckConfig getCppcheckConfig() {
}

protected boolean canContinue(final Result result) {
return result != Result.ABORTED && result != Result.FAILURE;
return (config.getIgnoreBuildResult() || result != Result.ABORTED && result != Result.FAILURE);
}

public BuildStepMonitor getRequiredMonitorService() {
Expand Down Expand Up @@ -364,7 +382,7 @@ public void perform(@Nonnull Run<?,?> build, @Nonnull FilePath workspace, @Nonnu
result.getNumberErrorsAccordingConfiguration(severityEvaluation, true),
severityEvaluation);

if (buildResult != Result.SUCCESS) {
if (config.getDontUpdateBuildResult() || buildResult != Result.SUCCESS) {
build.setResult(buildResult);
}

Expand Down Expand Up @@ -435,7 +453,7 @@ public boolean perform(AbstractBuild<?, ?> build, Launcher launcher,
result.getNumberErrorsAccordingConfiguration(severityEvaluation, true),
severityEvaluation);

if (buildResult != Result.SUCCESS) {
if (config.getDontUpdateBuildResult() || buildResult != Result.SUCCESS) {
build.setResult(buildResult);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ public class CppcheckConfig implements Serializable {
private String pattern;
private boolean ignoreBlankFiles;
private boolean allowNoReport;
private boolean ignoreBuildResult;
private boolean dontUpdateBuildResult;
private CppcheckConfigSeverityEvaluation configSeverityEvaluation = new CppcheckConfigSeverityEvaluation();
private CppcheckConfigGraph configGraph = new CppcheckConfigGraph();

Expand All @@ -30,6 +32,17 @@ public void setIgnoreBlankFiles(boolean ignoreBlankFiles) {
public void setAllowNoReport(boolean allowNoReport) {
this.allowNoReport = allowNoReport;
}

@DataBoundSetter
public void setIgnoreBuildResult(boolean ignoreBuildResult) {
this.ignoreBuildResult = ignoreBuildResult;
}

@DataBoundSetter
public void setDontUpdateBuildResult(boolean dontUpdateBuildResult) {
this.dontUpdateBuildResult = dontUpdateBuildResult;
}

@DataBoundSetter
public void setConfigSeverityEvaluation(CppcheckConfigSeverityEvaluation configSeverityEvaluation) {
this.configSeverityEvaluation = configSeverityEvaluation;
Expand Down Expand Up @@ -71,6 +84,14 @@ public boolean getAllowNoReport() {
return allowNoReport;
}

public boolean getIgnoreBuildResult() {
return ignoreBuildResult;
}

public boolean getDontUpdateBuildResult() {
return dontUpdateBuildResult;
}

public CppcheckConfigSeverityEvaluation getConfigSeverityEvaluation() {
return configSeverityEvaluation;
}
Expand Down