package com.nirima.jenkins.plugins.docker.ws;
import com.nirima.jenkins.plugins.docker.action.DockerBuildAction;
import hudson.Extension;
import hudson.FilePath;
import hudson.model.Job;
import hudson.model.Run;
import hudson.model.WorkspaceBrowser;
import java.io.File;
import java.util.logging.Level;
import java.util.logging.Logger;
import static org.apache.commons.io.FileUtils.getFile;
import static org.apache.commons.lang.StringUtils.isNotBlank;
@Extension
public class MappedFsWorkspaceBrowser extends WorkspaceBrowser {
private static final Logger LOGGER = Logger.getLogger(MappedFsWorkspaceBrowser.class.getName());
public MappedFsWorkspaceBrowser() {
LOGGER.log(Level.INFO, "{0} initializing...", this.getClass().getName());
}
@Override
public FilePath getWorkspace(Job job) {
Run lastBuild = job.getLastBuild();
if (lastBuild != null) {
DockerBuildAction action = lastBuild.getAction(DockerBuildAction.class);
if (action != null && isNotBlank(action.remoteFsMapping)) {
return new FilePath(getFile(new File(action.remoteFsMapping), "workspace", job.getName()));
}
}
return null;
}
}