public abstract class Copier extends Object implements CopyMethod, hudson.ExtensionPoint
A copier instance
1.21 introduced this in place of CopyMethod to allow us to evolve this interface
without breaking existing implementations.
| Constructor and Description |
|---|
Copier() |
| Modifier and Type | Method and Description |
|---|---|
abstract Copier |
clone()
Creates a clone.
|
abstract int |
copyAll(hudson.FilePath srcDir,
String filter,
hudson.FilePath targetDir)
Copy files matching the given file mask to the specified target.
|
abstract void |
copyOne(hudson.FilePath source,
hudson.FilePath target)
Copy a single file.
|
void |
end()
Ends what's started by the
init(Run, AbstractBuild, FilePath, FilePath) method. |
static Copier |
from(CopyMethod legacy)
Wraps a
CopyMethod into Copier for backward compatibility. |
void |
init(hudson.FilePath srcDir,
hudson.FilePath baseTargetDir)
Deprecated.
call/override
init(Run, AbstractBuild, FilePath, FilePath) instead. |
void |
init(hudson.model.Run src,
hudson.model.AbstractBuild<?,?> dst,
hudson.FilePath srcDir,
hudson.FilePath baseTargetDir)
Called before copy-artifact operation.
|
public void init(hudson.FilePath srcDir,
hudson.FilePath baseTargetDir)
throws IOException,
InterruptedException
init(Run, AbstractBuild, FilePath, FilePath) instead.CopyMethodinit in interface CopyMethodsrcDir - Source for upcoming file copybaseTargetDir - Base target dir for upcoming file copy (the copy-artifact
build step may later specify a deeper target dir)IOExceptionInterruptedExceptionpublic void init(hudson.model.Run src,
hudson.model.AbstractBuild<?,?> dst,
hudson.FilePath srcDir,
hudson.FilePath baseTargetDir)
throws IOException,
InterruptedException
src - The build record from which we are copying artifacts.dst - The built into which we are copying artifacts.srcDir - Source for upcoming file copybaseTargetDir - Base target dir for upcoming file copy (the copy-artifact
build step may later specify a deeper target dir)IOExceptionInterruptedExceptionpublic abstract int copyAll(hudson.FilePath srcDir,
String filter,
hudson.FilePath targetDir)
throws IOException,
InterruptedException
copyAll in interface CopyMethodsrcDir - Source directoryfilter - Ant GLOB patterntargetDir - Target directoryIOExceptionInterruptedExceptionFilePath.copyRecursiveTo(String,FilePath)public abstract void copyOne(hudson.FilePath source,
hudson.FilePath target)
throws IOException,
InterruptedException
copyOne in interface CopyMethodsource - Source filetarget - Target file (includes filename; this is not the target directory).
Directory for target should already exist (copy-artifact build step calls mkdirs).IOExceptionInterruptedExceptionFilePath.copyTo(FilePath)public void end()
throws IOException,
InternalError
init(Run, AbstractBuild, FilePath, FilePath) method.IOExceptionInternalErrorpublic abstract Copier clone()
init(Run, AbstractBuild, FilePath, FilePath) method
to allow each init-end session to run against different objects, so you need not copy any state
that your Copier might maintain.
This is a cheap hack to implement a factory withot breaking backward compatibility.
If you maintain no state, this method can return this without creating a copy.public static Copier from(CopyMethod legacy)
CopyMethod into Copier for backward compatibility.Copyright © 2004-2014 Hudson. All Rights Reserved.