Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Merge pull request #6 from cizezsy/threshold
[JENKINS-51364] Adopt Threshold conditions (e.g. from Cobertura) so t…
  • Loading branch information
cizezsy committed Jun 2, 2018
2 parents c3a07da + e83b007 commit e0992be
Show file tree
Hide file tree
Showing 26 changed files with 1,007 additions and 265 deletions.
40 changes: 25 additions & 15 deletions src/main/java/io/jenkins/plugins/coverage/CoverageAction.java
Expand Up @@ -19,7 +19,7 @@ public class CoverageAction implements StaplerProxy, SimpleBuildStep.LastBuildAc

private transient Run<?, ?> owner;
private transient WeakReference<CoverageResult> report;

private HealthReport healthReport;

public CoverageAction(CoverageResult result) {
this.report = new WeakReference<>(result);
Expand All @@ -35,9 +35,12 @@ public Collection<? extends Action> getProjectActions() {
}


/**
* @return Health report
*/
@Override
public HealthReport getBuildHealth() {
return null;
return getHealthReport();
}

/**
Expand All @@ -47,24 +50,24 @@ public HealthReport getBuildHealth() {
*/
private CoverageResult getResult() {
if (report != null) {
CoverageResult r = report.get();
if (r != null) {
return r;
CoverageResult coverageResult = report.get();
if (coverageResult != null) {
return coverageResult;
}
}

CoverageResult r = null;
CoverageResult coverageResult = null;
try {
r = CoverageProcessor.recoverReport(owner);
coverageResult = CoverageProcessor.recoverCoverageResult(owner);
} catch (IOException | ClassNotFoundException e) {
e.printStackTrace();
}

if (r != null) {
r.setOwner(owner);
report = new WeakReference<>(r);
if (coverageResult != null) {
coverageResult.setOwner(owner);
report = new WeakReference<>(coverageResult);
}
return r;
return coverageResult;
}

/**
Expand All @@ -76,12 +79,20 @@ public Object getTarget() {
}


public HealthReport getHealthReport() {
return healthReport;
}

public void setHealthReport(HealthReport healthReport) {
this.healthReport = healthReport;
}

private synchronized void setOwner(Run<?, ?> owner) {
this.owner = owner;
if (report != null) {
CoverageResult r = report.get();
if (r != null) {
r.setOwner(owner);
CoverageResult coverageResult = report.get();
if (coverageResult != null) {
coverageResult.setOwner(owner);
}

}
Expand All @@ -91,7 +102,6 @@ private synchronized void setOwner(Run<?, ?> owner) {
return owner;
}


/**
* {@inheritDoc}
*/
Expand Down

0 comments on commit e0992be

Please sign in to comment.