Skip to content
Permalink
Browse files

[JENKINS-45882] [JENKINS-41528] [JENKINS-42268] Jenkins Lint Global…

… Configuration and new Checkers (#21)

* Initial approach to use GlobalConfiguration

* Added Lint global settings to enable/disable it

* Disabling and Ignoring are now different status.

* Fixed README.md

* Added remaining checkers

* Saving global configuration based on the https://wiki.jenkins.io/display/JENKINS/Manage+global+settings+and+tools+installations

* Some minor bits and pieces to only show defects when they are in the right state

* Fixed Tests to use the enabled flag

* Enabled JobAction managed by GlobalSettings although the system property will be deprecated shortly

* Added Threshold option in the Global Settings

* Added TestCases for the new hardcoded threshold argument/variable

* Added FormValidation Test Case for the Threshold value

* SpeedUp TestCases usng the ClassRule pattern
  • Loading branch information...
v1v committed Jul 31, 2017
1 parent dca5fad commit 8be91308e606ed60310171aee1634980d73400a1
Showing with 750 additions and 176 deletions.
  1. +5 −4 README.md
  2. +4 −2 src/main/java/org/jenkins/ci/plugins/jenkinslint/JenkinsLintAction.java
  3. +313 −0 src/main/java/org/jenkins/ci/plugins/jenkinslint/JenkinsLintGlobalConfiguration.java
  4. +9 −2 src/main/java/org/jenkins/ci/plugins/jenkinslint/JobLintAction.java
  5. +1 −1 src/main/java/org/jenkins/ci/plugins/jenkinslint/SlaveLintAction.java
  6. +2 −2 src/main/java/org/jenkins/ci/plugins/jenkinslint/check/ArtifactChecker.java
  7. +2 −2 src/main/java/org/jenkins/ci/plugins/jenkinslint/check/BFAChecker.java
  8. +2 −2 src/main/java/org/jenkins/ci/plugins/jenkinslint/check/CleanupWorkspaceChecker.java
  9. +2 −2 src/main/java/org/jenkins/ci/plugins/jenkinslint/check/GitRefChecker.java
  10. +2 −2 src/main/java/org/jenkins/ci/plugins/jenkinslint/check/GitRefSubmoduleChecker.java
  11. +2 −2 src/main/java/org/jenkins/ci/plugins/jenkinslint/check/GitShallowChecker.java
  12. +2 −2 src/main/java/org/jenkins/ci/plugins/jenkinslint/check/GradleWrapperChecker.java
  13. +2 −2 src/main/java/org/jenkins/ci/plugins/jenkinslint/check/GroovySystemExitChecker.java
  14. +14 −4 src/main/java/org/jenkins/ci/plugins/jenkinslint/check/HardcodedScriptChecker.java
  15. +2 −2 src/main/java/org/jenkins/ci/plugins/jenkinslint/check/JavadocChecker.java
  16. +2 −2 src/main/java/org/jenkins/ci/plugins/jenkinslint/check/JobAssignedLabelChecker.java
  17. +2 −2 src/main/java/org/jenkins/ci/plugins/jenkinslint/check/JobDescriptionChecker.java
  18. +2 −2 src/main/java/org/jenkins/ci/plugins/jenkinslint/check/JobLogRotatorChecker.java
  19. +2 −2 src/main/java/org/jenkins/ci/plugins/jenkinslint/check/JobNameChecker.java
  20. +2 −2 src/main/java/org/jenkins/ci/plugins/jenkinslint/check/MasterLabelChecker.java
  21. +2 −2 src/main/java/org/jenkins/ci/plugins/jenkinslint/check/MavenJobTypeChecker.java
  22. +2 −2 src/main/java/org/jenkins/ci/plugins/jenkinslint/check/MultibranchJobTypeChecker.java
  23. +2 −2 src/main/java/org/jenkins/ci/plugins/jenkinslint/check/NullSCMChecker.java
  24. +2 −2 src/main/java/org/jenkins/ci/plugins/jenkinslint/check/PollingSCMTriggerChecker.java
  25. +2 −2 src/main/java/org/jenkins/ci/plugins/jenkinslint/check/SlaveDescriptionChecker.java
  26. +2 −2 src/main/java/org/jenkins/ci/plugins/jenkinslint/check/SlaveLabelChecker.java
  27. +2 −2 src/main/java/org/jenkins/ci/plugins/jenkinslint/check/SlaveVersionChecker.java
  28. +2 −2 src/main/java/org/jenkins/ci/plugins/jenkinslint/check/TimeoutChecker.java
  29. +2 −2 src/main/java/org/jenkins/ci/plugins/jenkinslint/check/TimerTriggerChecker.java
  30. +2 −2 src/main/java/org/jenkins/ci/plugins/jenkinslint/check/WindowsSlaveLaunchChecker.java
  31. +29 −28 src/main/java/org/jenkins/ci/plugins/jenkinslint/model/AbstractAction.java
  32. +15 −0 src/main/java/org/jenkins/ci/plugins/jenkinslint/model/AbstractCheck.java
  33. +15 −0 src/main/java/org/jenkins/ci/plugins/jenkinslint/model/AbstractSlaveCheck.java
  34. +1 −0 src/main/java/org/jenkins/ci/plugins/jenkinslint/model/InterfaceCheck.java
  35. +1 −0 src/main/java/org/jenkins/ci/plugins/jenkinslint/model/InterfaceSlaveCheck.java
  36. +1 −1 src/main/java/org/jenkins/ci/plugins/jenkinslint/model/Job.java
  37. +17 −2 src/main/java/org/jenkins/ci/plugins/jenkinslint/model/Lint.java
  38. +1 −1 src/main/java/org/jenkins/ci/plugins/jenkinslint/model/Slave.java
  39. +24 −10 src/main/resources/org/jenkins/ci/plugins/jenkinslint/JenkinsLintAction/index.jelly
  40. +97 −0 src/main/resources/org/jenkins/ci/plugins/jenkinslint/JenkinsLintGlobalConfiguration/config.jelly
  41. +10 −3 src/main/resources/org/jenkins/ci/plugins/jenkinslint/JobLintAction/index.jelly
  42. +10 −3 src/main/resources/org/jenkins/ci/plugins/jenkinslint/SlaveLintAction/index.jelly
  43. +3 −3 ...a/org/jenkins/ci/plugins/jenkinslint/{check/AbstractCheckerTestCase.java → AbstractTestCase.java}
  44. +1 −3 src/test/java/org/jenkins/ci/plugins/jenkinslint/JenkinsLintActionTestCase.java
  45. +33 −0 src/test/java/org/jenkins/ci/plugins/jenkinslint/JenkinsLintGlobalConfigurationTestCase.java
  46. +1 −4 src/test/java/org/jenkins/ci/plugins/jenkinslint/JobLintActionTestCase.java
  47. +1 −5 src/test/java/org/jenkins/ci/plugins/jenkinslint/SlaveLintActionTestCase.java
  48. +3 −2 src/test/java/org/jenkins/ci/plugins/jenkinslint/check/ArtifactCheckerTestCase.java
  49. +3 −2 src/test/java/org/jenkins/ci/plugins/jenkinslint/check/BFACheckerTestCase.java
  50. +3 −2 src/test/java/org/jenkins/ci/plugins/jenkinslint/check/CleanupWorkspaceCheckerTestCase.java
  51. +3 −2 src/test/java/org/jenkins/ci/plugins/jenkinslint/check/GitRefCheckerTestCase.java
  52. +3 −2 src/test/java/org/jenkins/ci/plugins/jenkinslint/check/GitRefSubmoduleCheckerTestCase.java
  53. +3 −2 src/test/java/org/jenkins/ci/plugins/jenkinslint/check/GitShallowCheckerTestCase.java
  54. +3 −2 src/test/java/org/jenkins/ci/plugins/jenkinslint/check/GradleWrapperCheckerTestCase.java
  55. +3 −2 src/test/java/org/jenkins/ci/plugins/jenkinslint/check/GroovySystemExitCheckerTestCase.java
  56. +24 −2 src/test/java/org/jenkins/ci/plugins/jenkinslint/check/HardcodedScriptCheckerTestCase.java
  57. +3 −2 src/test/java/org/jenkins/ci/plugins/jenkinslint/check/JavadocCheckerTestCase.java
  58. +3 −2 src/test/java/org/jenkins/ci/plugins/jenkinslint/check/JobAssignedLabelCheckerTestCase.java
  59. +3 −2 src/test/java/org/jenkins/ci/plugins/jenkinslint/check/JobDescriptionCheckerTestCase.java
  60. +3 −2 src/test/java/org/jenkins/ci/plugins/jenkinslint/check/JobLogRotatorCheckerTestCase.java
  61. +3 −2 src/test/java/org/jenkins/ci/plugins/jenkinslint/check/JobNameCheckerTestCase.java
  62. +3 −2 src/test/java/org/jenkins/ci/plugins/jenkinslint/check/MasterLabelCheckerTestCase.java
  63. +3 −4 src/test/java/org/jenkins/ci/plugins/jenkinslint/check/MavenJobTypeCheckerTestCase.java
  64. +3 −2 src/test/java/org/jenkins/ci/plugins/jenkinslint/check/MultibranchJobTypeCheckerTestCase.java
  65. +3 −2 src/test/java/org/jenkins/ci/plugins/jenkinslint/check/NullSCMCheckerTestCase.java
  66. +3 −2 src/test/java/org/jenkins/ci/plugins/jenkinslint/check/PollingSCMTriggerCheckerTestCase.java
  67. +3 −2 src/test/java/org/jenkins/ci/plugins/jenkinslint/check/SlaveDescriptionCheckerTestCase.java
  68. +3 −2 src/test/java/org/jenkins/ci/plugins/jenkinslint/check/SlaveLabelCheckerTestCase.java
  69. +3 −2 src/test/java/org/jenkins/ci/plugins/jenkinslint/check/SlaveVersionCheckerTestCase.java
  70. +3 −2 src/test/java/org/jenkins/ci/plugins/jenkinslint/check/TimeoutCheckerTestCase.java
  71. +3 −2 src/test/java/org/jenkins/ci/plugins/jenkinslint/check/TimerTriggerCheckerTestCase.java
  72. +3 −2 src/test/java/org/jenkins/ci/plugins/jenkinslint/check/WindowsSlaveLaunchCheckerTestCase.java
@@ -6,7 +6,7 @@ This plugin has mainly two goals:

See [JenkinsLint Plugin](https://wiki.jenkins-ci.org/display/JENKINS/JenkinsLint+Plugin) for more information.

[![Build Status](https://ci.jenkins.io/job/Plugins/job/jenkinslint-plugin/job/master/badge/icon)](https://ci.jenkins.io/job/Plugins/job/jenkinslint-plugin/job/)
[![Build Status](https://ci.jenkins.io/buildStatus/icon?job=Plugins/jenkinslint-plugin/master)](https://ci.jenkins.io/job/Plugins/jenkinslint-plugin/master)

## Motivation

@@ -27,13 +27,12 @@ a hundred other projects is where it gets difficult and tedious. This provides a
- Load checks dynamically via Reflection
- Show graphs
- Configure Checks (enabled, disabled, change severity)
- Example: Groovy script to configure globally.
- Example: XML API to query
- Load checks dynamically.
- Jobs action to show those Jenkins lints.
- System.exit in system admin groovy scripts (publishers and parameters)
- Support pipeline
- BFA check
- Cyclomatic complexity check when using conditional steps plugin
- Git Submodule Ref cache repo check
- Fix Findbugs/Checkstyle defects
- Integrate with Sonar or any other Linting defects tool

@@ -42,10 +41,12 @@ a hundred other projects is where it gets difficult and tedious. This provides a
### Jobs based

* Artifact Publisher check
* BFA check
* Build timeout check
* CleanUp Workspace check
* Git Shallow clone check
* Git Ref repo check
* Git Ref Submodule repo check
* Gradle Wrapper check
* Hardcoded Script check
* Javadoc Publisher check
@@ -34,7 +34,9 @@ public void getData() throws IOException {
Job newJob = new Job(item.getName(), item.getUrl());
for (InterfaceCheck checker : this.getCheckList()) {
LOG.log(Level.FINER, checker.getName() + " " + item.getName() + " " + checker.executeCheck(item));
newJob.addLint(new Lint(checker.getName(), checker.executeCheck(item), checker.isIgnored(item.getDescription())));
// Lint is disabled when is ignored or globally disabled
newJob.addLint(new Lint(checker.getName(), checker.executeCheck(item), checker.isIgnored(item.getDescription()), checker.isEnabled()));

}
jobSet.put(item.getName(),newJob);
LOG.log(Level.FINER, newJob.toString());
@@ -47,7 +49,7 @@ public void getData() throws IOException {
for (InterfaceSlaveCheck checker : this.getSlaveCheckList()) {
boolean status = checker.executeCheck(node);
LOG.log(Level.FINER, checker.getName() + " " + node.getDisplayName() + " " + status);
newSlave.addLint(new Lint(checker.getName(), status, checker.isIgnored(node.getNodeDescription())));
newSlave.addLint(new Lint(checker.getName(), status, checker.isIgnored(node.getNodeDescription()), checker.isEnabled()));
}
slaveSet.put(newSlave.getName(), newSlave);
LOG.log(Level.FINER, newSlave.toString());
@@ -0,0 +1,313 @@
package org.jenkins.ci.plugins.jenkinslint;

import hudson.Extension;
import hudson.util.FormValidation;
import jenkins.model.GlobalConfiguration;
import jenkins.model.Jenkins;
import net.sf.json.JSONObject;
import org.jenkins.ci.plugins.jenkinslint.check.HardcodedScriptChecker;
import org.kohsuke.stapler.QueryParameter;
import org.kohsuke.stapler.StaplerRequest;

import javax.servlet.ServletException;
import java.io.IOException;

@Extension
public final class JenkinsLintGlobalConfiguration extends GlobalConfiguration {

private boolean globalEnabled = true;
private boolean jobActionEnabled = true;

private boolean artifactCheckerEnabled = true;
private boolean bfaCheckerEnabled = true;
private boolean cleanupWorkspaceCheckerEnabled = true;
private boolean gitRefCheckerEnabled = true;
private boolean gitRefSubmoduleCheckerEnabled = true;
private boolean gitShallowCheckerEnabled = true;
private boolean gradleWrapperCheckerEnabled = true;
private boolean groovySystemExitCheckerEnabled = true;
private boolean hardcodedScriptCheckerEnabled = true;
private boolean javadocCheckerEnabled = true;
private boolean jobAssignedLabelCheckerEnabled = true;
private boolean jobDescriptionCheckerEnabled = true;
private boolean jobLogRotatorCheckerEnabled = true;
private boolean jobNameCheckerEnabled = true;
private boolean masterLabelCheckerEnabled = true;
private boolean mavenJobTypeCheckerEnabled = true;
private boolean multibranchJobTypeCheckerEnabled = true;
private boolean nullSCMCheckerEnabled = true;
private boolean pollingSCMTriggerCheckerEnabled = true;
private boolean slaveDescriptionCheckerEnabled = true;
private boolean slaveLabelCheckerEnabled = true;
private boolean slaveVersionCheckerEnabled = true;
private boolean timeoutCheckerEnabled = true;
private boolean timerTriggerCheckerEnabled = true;
private boolean windowsSlaveLaunchCheckerEnabled = true;

private int hardcodedScriptThreshold = HardcodedScriptChecker.THRESHOLD;

public JenkinsLintGlobalConfiguration() {
load();
}

public static JenkinsLintGlobalConfiguration get() {
return Jenkins.getInstance().getInjector().getInstance(JenkinsLintGlobalConfiguration.class);
}

public boolean isArtifactCheckerEnabled() {
return artifactCheckerEnabled;
}

public void setArtifactCheckerEnabled(boolean artifactCheckerEnabled) {
this.artifactCheckerEnabled = artifactCheckerEnabled;
}

@Override
public String getDisplayName() {
return Messages.DisplayName();
}

@Override
public boolean configure(StaplerRequest req, JSONObject json) throws FormException {
req.bindJSON(this, json.getJSONObject("jenkinslint"));
req.bindJSON(this, json.getJSONObject("jenkinslint-checkers"));

save();
return true;
}

public boolean isBfaCheckerEnabled() {
return get().bfaCheckerEnabled;
}

public void setBfaCheckerEnabled(boolean bfaCheckerEnabled) {
this.bfaCheckerEnabled = bfaCheckerEnabled;
}

public boolean isCleanupWorkspaceCheckerEnabled() {
return get().cleanupWorkspaceCheckerEnabled;
}

public void setCleanupWorkspaceCheckerEnabled(boolean cleanupWorkspaceCheckerEnabled) {
this.cleanupWorkspaceCheckerEnabled = cleanupWorkspaceCheckerEnabled;
}

public boolean isGitRefCheckerEnabled() {
return get().gitRefCheckerEnabled;
}

public void setGitRefCheckerEnabled(boolean gitRefCheckerEnabled) {
this.gitRefCheckerEnabled = gitRefCheckerEnabled;
}

public boolean isGitRefSubmoduleCheckerEnabled() {
return get().gitRefSubmoduleCheckerEnabled;
}

public void setGitRefSubmoduleCheckerEnabled(boolean gitRefSubmoduleCheckerEnabled) {
this.gitRefSubmoduleCheckerEnabled = gitRefSubmoduleCheckerEnabled;
}

public boolean isGitShallowCheckerEnabled() {
return get().gitShallowCheckerEnabled;
}

public void setGitShallowCheckerEnabled(boolean gitShallowCheckerEnabled) {
this.gitShallowCheckerEnabled = gitShallowCheckerEnabled;
}

public boolean isGradleWrapperCheckerEnabled() {
return get().gradleWrapperCheckerEnabled;
}

public void setGradleWrapperCheckerEnabled(boolean gradleWrapperCheckerEnabled) {
this.gradleWrapperCheckerEnabled = gradleWrapperCheckerEnabled;
}

public boolean isGroovySystemExitCheckerEnabled() {
return get().groovySystemExitCheckerEnabled;
}

public void setGroovySystemExitCheckerEnabled(boolean groovySystemExitCheckerEnabled) {
this.groovySystemExitCheckerEnabled = groovySystemExitCheckerEnabled;
}

public boolean isHardcodedScriptCheckerEnabled() {
return get().hardcodedScriptCheckerEnabled;
}

public void setHardcodedScriptCheckerEnabled(boolean hardcodedScriptCheckerEnabled) {
this.hardcodedScriptCheckerEnabled = hardcodedScriptCheckerEnabled;
}

public boolean isJavadocCheckerEnabled() {
return get().javadocCheckerEnabled;
}

public void setJavadocCheckerEnabled(boolean javadocCheckerEnabled) {
this.javadocCheckerEnabled = javadocCheckerEnabled;
}

public boolean isJobAssignedLabelCheckerEnabled() {
return get().jobAssignedLabelCheckerEnabled;
}

public void setJobAssignedLabelCheckerEnabled(boolean jobAssignedLabelCheckerEnabled) {
this.jobAssignedLabelCheckerEnabled = jobAssignedLabelCheckerEnabled;
}

public boolean isJobDescriptionCheckerEnabled() {
return get().jobDescriptionCheckerEnabled;
}

public void setJobDescriptionCheckerEnabled(boolean jobDescriptionCheckerEnabled) {
this.jobDescriptionCheckerEnabled = jobDescriptionCheckerEnabled;
}

public boolean isJobLogRotatorCheckerEnabled() {
return get().jobLogRotatorCheckerEnabled;
}

public void setJobLogRotatorCheckerEnabled(boolean jobLogRotatorCheckerEnabled) {
this.jobLogRotatorCheckerEnabled = jobLogRotatorCheckerEnabled;
}

public boolean isJobNameCheckerEnabled() {
return get().jobNameCheckerEnabled;
}

public void setJobNameCheckerEnabled(boolean jobNameCheckerEnabled) {
this.jobNameCheckerEnabled = jobNameCheckerEnabled;
}

public boolean isMasterLabelCheckerEnabled() {
return get().masterLabelCheckerEnabled;
}

public void setMasterLabelCheckerEnabled(boolean masterLabelCheckerEnabled) {
this.masterLabelCheckerEnabled = masterLabelCheckerEnabled;
}

public boolean isMavenJobTypeCheckerEnabled() {
return get().mavenJobTypeCheckerEnabled;
}

public void setMavenJobTypeCheckerEnabled(boolean mavenJobTypeCheckerEnabled) {
this.mavenJobTypeCheckerEnabled = mavenJobTypeCheckerEnabled;
}

public boolean isMultibranchJobTypeCheckerEnabled() {
return get().multibranchJobTypeCheckerEnabled;
}

public void setMultibranchJobTypeCheckerEnabled(boolean multibranchJobTypeCheckerEnabled) {
this.multibranchJobTypeCheckerEnabled = multibranchJobTypeCheckerEnabled;
}

public boolean isNullSCMCheckerEnabled() {
return get().nullSCMCheckerEnabled;
}

public void setNullSCMCheckerEnabled(boolean nullSCMCheckerEnabled) {
this.nullSCMCheckerEnabled = nullSCMCheckerEnabled;
}

public boolean isPollingSCMTriggerCheckerEnabled() {
return get().pollingSCMTriggerCheckerEnabled;
}

public void setPollingSCMTriggerCheckerEnabled(boolean pollingSCMTriggerCheckerEnabled) {
this.pollingSCMTriggerCheckerEnabled = pollingSCMTriggerCheckerEnabled;
}

public boolean isSlaveDescriptionCheckerEnabled() {
return get().slaveDescriptionCheckerEnabled;
}

public void setSlaveDescriptionCheckerEnabled(boolean slaveDescriptionCheckerEnabled) {
this.slaveDescriptionCheckerEnabled = slaveDescriptionCheckerEnabled;
}

public boolean isSlaveLabelCheckerEnabled() {
return get().slaveLabelCheckerEnabled;
}

public void setSlaveLabelCheckerEnabled(boolean slaveLabelCheckerEnabled) {
this.slaveLabelCheckerEnabled = slaveLabelCheckerEnabled;
}

public boolean isSlaveVersionCheckerEnabled() {
return get().slaveVersionCheckerEnabled;
}

public void setSlaveVersionCheckerEnabled(boolean slaveVersionCheckerEnabled) {
this.slaveVersionCheckerEnabled = slaveVersionCheckerEnabled;
}

public boolean isTimeoutCheckerEnabled() {
return get().timeoutCheckerEnabled;
}

public void setTimeoutCheckerEnabled(boolean timeoutCheckerEnabled) {
this.timeoutCheckerEnabled = timeoutCheckerEnabled;
}

public boolean isTimerTriggerCheckerEnabled() {
return get().timerTriggerCheckerEnabled;
}

public void setTimerTriggerCheckerEnabled(boolean timerTriggerCheckerEnabled) {
this.timerTriggerCheckerEnabled = timerTriggerCheckerEnabled;
}

public boolean isWindowsSlaveLaunchCheckerEnabled() {
return get().windowsSlaveLaunchCheckerEnabled;
}

public void setWindowsSlaveLaunchCheckerEnabled(boolean windowsSlaveLaunchCheckerEnabled) {
this.windowsSlaveLaunchCheckerEnabled = windowsSlaveLaunchCheckerEnabled;
}

public boolean isGlobalEnabled() {
return get().globalEnabled;
}

public void setGlobalEnabled(boolean globalEnabled) {
this.globalEnabled = globalEnabled;
}

public boolean isJobActionEnabled() {
return get().jobActionEnabled;
}

public void setJobActionEnabled(boolean jobActionEnabled) {
this.jobActionEnabled = jobActionEnabled;
}

public int getHardcodedScriptThreshold() {
return hardcodedScriptThreshold;
}

public void setHardcodedScriptThreshold(int hardcodedScriptThreshold) {
this.hardcodedScriptThreshold = hardcodedScriptThreshold;
}

/**
* Performs on-the-fly validation of the form field 'name'.
*
* @param value
* This parameter receives the value that the user has typed.
* @return
* Indicates the outcome of the validation. This is sent to the browser.
* <p>
* Note that returning {@link FormValidation#error(String)} does not
* prevent the form from being saved. It just means that a message
* will be displayed to the user.
*/
public FormValidation doCheckHardcodedScriptThreshold(@QueryParameter int value)
throws IOException, ServletException {
if (value <= 1)
return FormValidation.error("Please set a value greater than 1");
return FormValidation.ok();
}
}
@@ -21,7 +21,14 @@
private Job job;

public static boolean isDisabled () {
return Boolean.getBoolean(JobLintAction.class.getName() + ".disabled");
// DEPRECATED: Release 0.11.0
if (Boolean.getBoolean(JobLintAction.class.getName() + ".disabled")) {
LOG.warning("This system property is deprecated and it will be removed in the release 0.11.0. " +
"We encourage to use the Global Settings properties.");
return true;
} else {
return !JenkinsLintGlobalConfiguration.get().isJobActionEnabled();
}
}

public JobLintAction(AbstractProject<?, ?> project) {
@@ -42,7 +49,7 @@ public void getData() throws IOException {
this.reloadCheckList();
this.job = new Job(this.project.getName(), this.project.getUrl());
for (InterfaceCheck checker : this.getCheckList()) {
this.job.addLint(new Lint(checker.getName(), checker.executeCheck(this.project), checker.isIgnored(this.project.getDescription())));
this.job.addLint(new Lint(checker.getName(), checker.executeCheck(this.project), checker.isIgnored(this.project.getDescription()), checker.isEnabled()) );
}
LOG.log(Level.FINE, this.job.getLintList().toString());
}

0 comments on commit 8be9130

Please sign in to comment.
You can’t perform that action at this time.