Creates a tar archive.
FAIL
public static final String FAIL
since 1.5.x.
Tar.FAIL is deprecated and is replaced with
Tar.TarLongFileMode.FAIL
GNU
public static final String GNU
since 1.5.x.
Tar.GNU is deprecated and is replaced with
Tar.TarLongFileMode.GNU
OMIT
public static final String OMIT
since 1.5.x.
Tar.OMIT is deprecated and is replaced with
Tar.TarLongFileMode.OMIT
TRUNCATE
public static final String TRUNCATE
since 1.5.x.
Tar.TRUNCATE is deprecated and is replaced with
Tar.TarLongFileMode.TRUNCATE
WARN
public static final String WARN
since 1.5.x.
Tar.WARN is deprecated and is replaced with
Tar.TarLongFileMode.WARN
add
public void add(ResourceCollection res)
Add a collection of resources to archive.
res
- a resource collection to archive.
archiveIsUpToDate
protected boolean archiveIsUpToDate(String[] files)
since 1.5.x.
use the two-arg version instead.
Is the archive up to date in relationship to a list of files.
files
- the files to check
- true if the archive is up to date.
archiveIsUpToDate
protected boolean archiveIsUpToDate(String[] files,
File dir)
Is the archive up to date in relationship to a list of files.
files
- the files to checkdir
- the base directory for the files.
- true if the archive is up to date.
archiveIsUpToDate
protected boolean archiveIsUpToDate(Resource r)
Is the archive up to date in relationship to a list of files.
- true if the archive is up to date.
asTarFileSet
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).
archiveFileSet
- fileset to copy attributes from, may be null
check
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 names
- whether the archive is up-to-date
check
protected boolean check(ResourceCollection rc)
Checks whether the archive is out-of-date with respect to the resources
of the given collection.
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 check
- whether the archive is up-to-date
createTarFileSet
public Tar.TarFileSet createTarFileSet()
Add a new fileset with the option to specify permissions
- the tar fileset to be used as the nested element.
getFileNames
protected static final String[] getFileNames(FileSet fs)
Grabs all included files and directors from the FileSet and
returns them as an array of (relative) file names.
fs
- the fileset to operate on.
isFileFileSet
protected static final boolean isFileFileSet(ResourceCollection rc)
whether the given resource collection is a (subclass of)
FileSet that only contains file system resources.
rc
- the resource collection to check.
- true if the collection is a fileset.
setBasedir
public void setBasedir(File baseDir)
This is the base directory to look in for things to tar.
baseDir
- the base directory.
setCompression
public void setCompression(Tar.TarCompressionMethod mode)
Set compression method.
Allowable values are
- none - no compression
- gzip - Gzip compression
- bzip2 - Bzip2 compression
mode
- the compression method.
setDestFile
public void setDestFile(File destFile)
Set is the name/location of where to create the tar file.
destFile
- The output of the tar
setLongfile
public void setLongfile(String mode)
since 1.5.x.
setLongFile(String) is deprecated and is replaced with
setLongFile(Tar.TarLongFileMode) to make Ant's Introspection
mechanism do the work and also to encapsulate operations on
the mode in its own class.
Set how to handle long files, those with a path>100 chars.
Optional, default=warn.
Allowable values are
- truncate - paths are truncated to the maximum length
- fail - paths greater than the maximum cause a build exception
- warn - paths greater than the maximum cause a warning and GNU is used
- gnu - GNU extensions are used for any paths greater than the maximum.
- omit - paths greater than the maximum are omitted from the archive
mode
- the mode string to handle long files.
setLongfile
public void setLongfile(Tar.TarLongFileMode mode)
Set how to handle long files, those with a path>100 chars.
Optional, default=warn.
Allowable values are
- truncate - paths are truncated to the maximum length
- fail - paths greater than the maximum cause a build exception
- warn - paths greater than the maximum cause a warning and GNU is used
- gnu - GNU extensions are used for any paths greater than the maximum.
- omit - paths greater than the maximum are omitted from the archive
mode
- the mode to handle long file names.
setTarfile
public void setTarfile(File tarFile)
since 1.5.x.
For consistency with other tasks, please use setDestFile().
Set is the name/location of where to create the tar file.
tarFile
- the location of the tar file.
supportsNonFileResources
protected boolean supportsNonFileResources()
Whether this task can deal with non-file resources.
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.
tar
protected void tar(ResourceCollection rc,
TarOutputStream tOut)
throws IOException
Adds the resources contained in this collection to the archive.
Uses the file based methods for file resources for backwards
compatibility.
rc
- the collection containing resources to addtOut
- stream writing to the archive.
tarFile
protected void tarFile(File file,
TarOutputStream tOut,
String vPath,
Tar.TarFileSet tarFileSet)
throws IOException
tar a file
file
- the file to tartOut
- the output streamvPath
- the path name of the file to tartarFileSet
- the fileset that the file came from.
tarResource
protected void tarResource(Resource r,
TarOutputStream tOut,
String vPath,
Tar.TarFileSet tarFileSet)
throws IOException
tar a resource
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.