All Downloads are FREE. Search and download functionalities are using the official Maven repository.

hudson.matrix.LinkedLogRotator Maven / Gradle / Ivy

package hudson.matrix;

import hudson.model.Job;
import hudson.tasks.LogRotator;

import java.io.IOException;

/**
 * {@link LogRotator} for {@link MatrixConfiguration},
 * which discards the builds if and only if it's discarded
 * in the parent.
 *
 * 

* Because of the serialization compatibility, we can't easily * refactor {@link LogRotator} into a contract and an implementation. * * @author Kohsuke Kawaguchi */ final class LinkedLogRotator extends LogRotator { LinkedLogRotator() { super(-1,-1); } @Override public void perform(Job _job) throws IOException { // copy it to the array because we'll be deleting builds as we go. MatrixConfiguration job = (MatrixConfiguration) _job; for( MatrixRun r : job.getBuilds().toArray(new MatrixRun[0]) ) { if(job.getParent().getBuildByNumber(r.getNumber())==null) r.delete(); } if(!job.isActiveConfiguration() && job.getLastBuild()==null) job.delete(); } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy