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

hudson.WorkspaceSnapshot Maven / Gradle / Ivy

The newest version!
/*******************************************************************************
 *
 * Copyright (c) 2004-2009 Oracle Corporation.
 *
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 * 
 *    Kohsuke Kawaguchi
 *
 *
 *******************************************************************************/ 

package hudson;

import hudson.model.Action;
import hudson.model.TaskListener;
import hudson.model.AbstractBuild;

import java.io.IOException;

/**
 * Represents a workspace snapshot created by {@link FileSystemProvisioner}.
 *
 * 

This class encapsulates a logic to use the snapshot elsewhere. The * instance will be persisted with the {@link AbstractBuild} object as an * {@link Action}. * *

TODO: how to garbage-collect this object, especially for zfs? perhaps * when a new build is started? * * @see FileSystemProvisioner * @author Kohsuke Kawaguchi */ public abstract class WorkspaceSnapshot implements Action { /** * Restores the snapshot to the given file system location. * * @param owner The build that owns this action. It's always the same value * for any given {@link WorkspaceSnapshot}, but passed in separately so that * implementations don't need to keep them in fields. * @param dst The file path to which the snapshot shall be restored to. * @param listener Send the progress of the restoration to this listener. * Never null. */ public abstract void restoreTo(AbstractBuild owner, FilePath dst, TaskListener listener) throws IOException, InterruptedException; public String getIconFileName() { // by default, hide from the UI return null; } public String getDisplayName() { return "Workspace"; } public String getUrlName() { return "workspace"; } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy