Package jenkins.model

Class StandardArtifactManager

java.lang.Object
jenkins.model.ArtifactManager
jenkins.model.StandardArtifactManager

public class StandardArtifactManager extends ArtifactManager
Default artifact manager which transfers files over the remoting channel and stores them inside the build directory. May be subclassed to provide an artifact manager which uses the standard storage but which only overrides archive(hudson.FilePath, hudson.Launcher, hudson.model.BuildListener, java.util.Map<java.lang.String, java.lang.String>).
Since:
1.532
  • Field Details

    • TAR_COMPRESSION

      @Restricted(org.kohsuke.accmod.restrictions.NoExternalUse.class) public static FilePath.TarCompression TAR_COMPRESSION
    • build

      protected transient Run<?,?> build
  • Constructor Details

    • StandardArtifactManager

      public StandardArtifactManager(Run<?,?> build)
  • Method Details

    • onLoad

      public final void onLoad(Run<?,?> build)
      Description copied from class: ArtifactManager
      Called when this manager is loaded from disk. The selected manager will be persisted inside a build, so the build reference should be transient (quasi-final) and restored here.
      Specified by:
      onLoad in class ArtifactManager
      Parameters:
      build - a historical build with which this manager was associated
    • archive

      public void archive(FilePath workspace, Launcher launcher, BuildListener listener, Map<String,String> artifacts) throws IOException, InterruptedException
      Description copied from class: ArtifactManager
      Archive all configured artifacts from a build.

      If called multiple times for the same build, do not delete the old artifacts but keep them all, unless overwritten. For example, the XVNC plugin could use this to save screenshot.jpg if so configured.

      This method is typically invoked on a running build, though e.g. in the case of Maven module builds, the build may actually be Run.State.COMPLETED when this is called (since it is the parent build which is still running and performing archiving).

      Specified by:
      archive in class ArtifactManager
      Parameters:
      workspace - the root directory from which to copy files (typically AbstractBuild.getWorkspace() but not necessarily)
      launcher - a launcher to use if external processes need to be forked
      listener - a way to print messages about progress or problems
      artifacts - map from paths in the archive area to paths relative to workspace (all paths /-separated)
      Throws:
      IOException - if transfer or copying failed in any way
      InterruptedException - if transfer was interrupted
      See Also:
    • delete

      public final boolean delete() throws IOException, InterruptedException
      Description copied from class: ArtifactManager
      Delete all artifacts associated with an earlier build (if any).
      Specified by:
      delete in class ArtifactManager
      Returns:
      true if there was actually anything to delete
      Throws:
      IOException - if deletion could not be completed
      InterruptedException - if deletion was interrupted
    • root

      public VirtualFile root()
      Description copied from class: ArtifactManager
      Returns a representation of the root directory of archived artifacts.
      Specified by:
      root in class ArtifactManager
      Returns:
      the archive root