public class Tar extends MatchingTask
Modifier and Type | Class and Description |
---|---|
static class |
Tar.TarCompressionMethod
Valid Modes for Compression attribute to Tar Task
|
static class |
Tar.TarFileSet
This is a FileSet with the option to specify permissions
and other attributes.
|
static class |
Tar.TarLongFileMode
Set of options for long file handling in the task.
|
fileset
Constructor and Description |
---|
Tar() |
Modifier and Type | Method and Description |
---|---|
void |
add(ResourceCollection res)
Add a collection of resources to archive.
|
protected boolean |
archiveIsUpToDate(Resource r)
Is the archive up to date in relationship to a list of files.
|
protected boolean |
archiveIsUpToDate(String[] files,
File dir)
Is the archive up to date in relationship to a list of files.
|
protected Tar.TarFileSet |
asTarFileSet(ArchiveFileSet archiveFileSet)
Copies fullpath, prefix and permission attributes from the
ArchiveFileSet to a new TarFileSet (or returns it unchanged if
it already is a TarFileSet).
|
protected boolean |
check(File basedir,
Collection<String> files)
Checks whether the archive is out-of-date with respect to the
given files, ensures that the archive won't contain itself.
|
protected boolean |
check(File basedir,
String[] files)
Checks whether the archive is out-of-date with respect to the
given files, ensures that the archive won't contain itself.
|
protected boolean |
check(ResourceCollection rc)
Checks whether the archive is out-of-date with respect to the resources
of the given collection.
|
Tar.TarFileSet |
createTarFileSet()
Add a new fileset with the option to specify permissions
|
void |
execute()
do the business
|
protected static String[] |
getFileNames(FileSet fs)
Grabs all included files and directors from the FileSet and
returns them as an array of (relative) file names.
|
protected static boolean |
isFileFileSet(ResourceCollection rc)
whether the given resource collection is a (subclass of)
FileSet that only contains file system resources.
|
void |
setBasedir(File baseDir)
This is the base directory to look in for things to tar.
|
void |
setCompression(Tar.TarCompressionMethod mode)
Set compression method.
|
void |
setDestFile(File destFile)
Set is the name/location of where to create the tar file.
|
void |
setEncoding(String encoding)
Encoding to use for filenames, defaults to the platform's
default encoding.
|
void |
setLongfile(Tar.TarLongFileMode mode)
Set how to handle long files, those with a path>100 chars.
|
protected boolean |
supportsNonFileResources()
Whether this task can deal with non-file resources.
|
protected void |
tar(ResourceCollection rc,
TarOutputStream tOut)
Adds the resources contained in this collection to the archive.
|
protected void |
tarFile(File file,
TarOutputStream tOut,
String vPath,
Tar.TarFileSet tarFileSet)
tar a file
|
protected void |
tarResource(Resource r,
TarOutputStream tOut,
String vPath,
Tar.TarFileSet tarFileSet)
tar a resource
|
add, addAnd, addContains, addContainsRegexp, addCustom, addDate, addDepend, addDepth, addDifferent, addFilename, addMajority, addModified, addNone, addNot, addOr, addPresent, addSelector, addSize, addType, appendSelector, createExclude, createExcludesFile, createInclude, createIncludesFile, createPatternSet, getDirectoryScanner, getImplicitFileSet, getSelectors, hasSelectors, selectorCount, selectorElements, setCaseSensitive, setDefaultexcludes, setExcludes, setExcludesfile, setFollowSymlinks, setIncludes, setIncludesfile, setProject, XsetIgnore, XsetItems
bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType
clone, getDescription, getLocation, getProject, setDescription, setLocation
public void add(ResourceCollection res)
res
- a resource collection to archive.protected boolean archiveIsUpToDate(Resource r)
r
- the files to checkprotected boolean archiveIsUpToDate(String[] files, File dir)
files
- the files to checkdir
- the base directory for the files.protected Tar.TarFileSet asTarFileSet(ArchiveFileSet archiveFileSet)
archiveFileSet
- fileset to copy attributes from, may be nullprotected boolean check(File basedir, Collection<String> files)
Checks whether the archive is out-of-date with respect to the given files, ensures that the archive won't contain itself.
basedir
- base directory for file namesfiles
- array of relative file namescheck(File, String[])
protected boolean check(File basedir, String[] files)
Checks whether the archive is out-of-date with respect to the given files, ensures that the archive won't contain itself.
basedir
- base directory for file namesfiles
- array of relative file namesprotected boolean check(ResourceCollection rc)
Also checks that either all collections only contain file resources or this class supports non-file collections.
And - in case of file-collections - ensures that the archive won't contain itself.
rc
- the resource collection to checkpublic Tar.TarFileSet createTarFileSet()
public void execute() throws BuildException
execute
in class Task
BuildException
- on errorprotected static String[] getFileNames(FileSet fs)
fs
- the fileset to operate on.protected static boolean isFileFileSet(ResourceCollection rc)
rc
- the resource collection to check.public void setBasedir(File baseDir)
baseDir
- the base directory.public void setCompression(Tar.TarCompressionMethod mode)
mode
- the compression method.public void setDestFile(File destFile)
destFile
- The output of the tarpublic void setEncoding(String encoding)
For a list of possible values see http://java.sun.com/j2se/1.5.0/docs/guide/intl/encoding.doc.html.
encoding
- the encoding namepublic void setLongfile(Tar.TarLongFileMode mode)
Allowable values are
mode
- the mode to handle long file names.protected boolean supportsNonFileResources()
This implementation returns true only if this task is <tar>. Any subclass of this class that also wants to support non-file resources needs to override this method. We need to do so for backwards compatibility reasons since we can't expect subclasses to support resources.
protected void tar(ResourceCollection rc, TarOutputStream tOut) throws IOException
Uses the file based methods for file resources for backwards compatibility.
rc
- the collection containing resources to addtOut
- stream writing to the archive.IOException
- on error.protected void tarFile(File file, TarOutputStream tOut, String vPath, Tar.TarFileSet tarFileSet) throws IOException
file
- the file to tartOut
- the output streamvPath
- the path name of the file to tartarFileSet
- the fileset that the file came from.IOException
- on errorprotected void tarResource(Resource r, TarOutputStream tOut, String vPath, Tar.TarFileSet tarFileSet) throws IOException
r
- the resource to tartOut
- the output streamvPath
- the path name of the file to tartarFileSet
- the fileset that the file came from, may be null.IOException
- on error