org.apache.tools.ant.taskdefsClass Tar
- java.lang.Object
- org.apache.tools.ant.ProjectComponent
- org.apache.tools.ant.Task
- org.apache.tools.ant.taskdefs.MatchingTask
- org.apache.tools.ant.taskdefs.Tar
- All Implemented Interfaces:
- java.lang.Cloneable, SelectorContainer
public class Tar extends MatchingTaskCreates a tar archive.
- Since:
- Ant 1.1
Nested Class Summary
Nested Classes Modifier and Type Class and Description static class
Tar.TarCompressionMethod
Valid Modes for Compression attribute to Tar Taskstatic 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.
Field Summary
Fields Modifier and Type Field and Description static java.lang.String
FAIL
Deprecated.since 1.5.x. Tar.FAIL is deprecated and is replaced with Tar.TarLongFileMode.FAILstatic java.lang.String
GNU
Deprecated.since 1.5.x. Tar.GNU is deprecated and is replaced with Tar.TarLongFileMode.GNUstatic java.lang.String
OMIT
Deprecated.since 1.5.x. Tar.OMIT is deprecated and is replaced with Tar.TarLongFileMode.OMITstatic java.lang.String
TRUNCATE
Deprecated.since 1.5.x. Tar.TRUNCATE is deprecated and is replaced with Tar.TarLongFileMode.TRUNCATEstatic java.lang.String
WARN
Deprecated.since 1.5.x. Tar.WARN is deprecated and is replaced with Tar.TarLongFileMode.WARN
Fields inherited from class org.apache.tools.ant.taskdefs.MatchingTask
fileset
Fields inherited from class org.apache.tools.ant.ProjectComponent
description, location, project
Constructor Summary
Constructors Constructor and Description Tar()
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods 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(java.lang.String[] files)
Deprecated.since 1.5.x. use the two-arg version instead.protected boolean
archiveIsUpToDate(java.lang.String[] files, java.io.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(java.io.File basedir, java.util.Collection<java.lang.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(java.io.File basedir, java.lang.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 permissionsvoid
execute()
do the businessprotected static java.lang.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(java.io.File baseDir)
This is the base directory to look in for things to tar.void
setCompression(Tar.TarCompressionMethod mode)
Set compression method.void
setDestFile(java.io.File destFile)
Set is the name/location of where to create the tar file.void
setEncoding(java.lang.String encoding)
Encoding to use for filenames, defaults to the platform's default encoding.void
setLongfile(java.lang.String mode)
Deprecated.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.void
setLongfile(Tar.TarLongFileMode mode)
Set how to handle long files, those with a path>100 chars.void
setTarfile(java.io.File tarFile)
Deprecated.since 1.5.x. For consistency with other tasks, please use setDestFile().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(java.io.File file, TarOutputStream tOut, java.lang.String vPath, Tar.TarFileSet tarFileSet)
tar a fileprotected void
tarResource(Resource r, TarOutputStream tOut, java.lang.String vPath, Tar.TarFileSet tarFileSet)
tar a resource
Methods inherited from class org.apache.tools.ant.taskdefs.MatchingTask
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
Methods inherited from class org.apache.tools.ant.Task
bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType
Methods inherited from class org.apache.tools.ant.ProjectComponent
clone, getDescription, getLocation, getProject, setDescription, setLocation
Field Detail
WARN
@Deprecated public static final java.lang.String WARNDeprecated. since 1.5.x. Tar.WARN is deprecated and is replaced with Tar.TarLongFileMode.WARN
- See Also:
- Constant Field Values
FAIL
@Deprecated public static final java.lang.String FAILDeprecated. since 1.5.x. Tar.FAIL is deprecated and is replaced with Tar.TarLongFileMode.FAIL
- See Also:
- Constant Field Values
TRUNCATE
@Deprecated public static final java.lang.String TRUNCATEDeprecated. since 1.5.x. Tar.TRUNCATE is deprecated and is replaced with Tar.TarLongFileMode.TRUNCATE
- See Also:
- Constant Field Values
GNU
@Deprecated public static final java.lang.String GNUDeprecated. since 1.5.x. Tar.GNU is deprecated and is replaced with Tar.TarLongFileMode.GNU
- See Also:
- Constant Field Values
OMIT
@Deprecated public static final java.lang.String OMITDeprecated. since 1.5.x. Tar.OMIT is deprecated and is replaced with Tar.TarLongFileMode.OMIT
- See Also:
- Constant Field Values
Method Detail
createTarFileSet
public Tar.TarFileSet createTarFileSet()Add a new fileset with the option to specify permissions
- Returns:
- the tar fileset to be used as the nested element.
add
public void add(ResourceCollection res)Add a collection of resources to archive.
- Parameters:
res
- a resource collection to archive.- Since:
- Ant 1.7
setTarfile
@Deprecated public void setTarfile(java.io.File tarFile)Deprecated. since 1.5.x. For consistency with other tasks, please use setDestFile().Set is the name/location of where to create the tar file.
- Parameters:
tarFile
- the location of the tar file.
setDestFile
public void setDestFile(java.io.File destFile)Set is the name/location of where to create the tar file.
- Parameters:
destFile
- The output of the tar- Since:
- Ant 1.5
setBasedir
public void setBasedir(java.io.File baseDir)This is the base directory to look in for things to tar.
- Parameters:
baseDir
- the base directory.
setLongfile
@Deprecated public void setLongfile(java.lang.String mode)Deprecated. 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
- Parameters:
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 - extensions used by older versions of GNU tar are used for any paths greater than the maximum.
- posix - use POSIX PAX extension headers for any paths greater than the maximum. Supported by all modern tar implementations.
- omit - paths greater than the maximum are omitted from the archive
- Parameters:
mode
- the mode to handle long file names.
setCompression
public void setCompression(Tar.TarCompressionMethod mode)Set compression method. Allowable values are
- none - no compression
- gzip - Gzip compression
- bzip2 - Bzip2 compression
- Parameters:
mode
- the compression method.
setEncoding
public void setEncoding(java.lang.String encoding)Encoding to use for filenames, defaults to the platform's default encoding.For a list of possible values see http://java.sun.com/j2se/1.5.0/docs/guide/intl/encoding.doc.html.
- Parameters:
encoding
- the encoding name- Since:
- Ant 1.9.5
execute
public void execute() throws BuildExceptiondo the business
- Overrides:
execute
in classTask
- Throws:
BuildException
- on error
tarFile
protected void tarFile(java.io.File file, TarOutputStream tOut, java.lang.String vPath, Tar.TarFileSet tarFileSet) throws java.io.IOExceptiontar a file
- Parameters:
file
- the file to tartOut
- the output streamvPath
- the path name of the file to tartarFileSet
- the fileset that the file came from.- Throws:
java.io.IOException
- on error
tarResource
protected void tarResource(Resource r, TarOutputStream tOut, java.lang.String vPath, Tar.TarFileSet tarFileSet) throws java.io.IOExceptiontar a resource
- Parameters:
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.- Throws:
java.io.IOException
- on error- Since:
- Ant 1.7
archiveIsUpToDate
@Deprecated protected boolean archiveIsUpToDate(java.lang.String[] files)Deprecated. since 1.5.x. use the two-arg version instead.Is the archive up to date in relationship to a list of files.
- Parameters:
files
- the files to check- Returns:
- true if the archive is up to date.
archiveIsUpToDate
protected boolean archiveIsUpToDate(java.lang.String[] files, java.io.File dir)Is the archive up to date in relationship to a list of files.
- Parameters:
files
- the files to checkdir
- the base directory for the files.- Returns:
- true if the archive is up to date.
- Since:
- Ant 1.5.2
archiveIsUpToDate
protected boolean archiveIsUpToDate(Resource r)Is the archive up to date in relationship to a list of files.
- Parameters:
r
- the files to check- Returns:
- true if the archive is up to date.
- Since:
- Ant 1.7
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.
- Returns:
- true for this task.
- Since:
- Ant 1.7
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.
- Parameters:
rc
- the resource collection to check- Returns:
- whether the archive is up-to-date
- Since:
- Ant 1.7
check
protected boolean check(java.io.File basedir, java.lang.String[] files)Checks whether the archive is out-of-date with respect to the given files, ensures that the archive won't contain itself.
- Parameters:
basedir
- base directory for file namesfiles
- array of relative file names- Returns:
- whether the archive is up-to-date
- Since:
- Ant 1.7
check
protected boolean check(java.io.File basedir, java.util.Collection<java.lang.String> files)Checks whether the archive is out-of-date with respect to the given files, ensures that the archive won't contain itself.
- Parameters:
basedir
- base directory for file namesfiles
- array of relative file names- Returns:
- whether the archive is up-to-date
- Since:
- Ant 1.9.5
- See Also:
check(File, String[])
tar
protected void tar(ResourceCollection rc, TarOutputStream tOut) throws java.io.IOExceptionAdds the resources contained in this collection to the archive.Uses the file based methods for file resources for backwards compatibility.
- Parameters:
rc
- the collection containing resources to addtOut
- stream writing to the archive.- Throws:
java.io.IOException
- on error.- Since:
- Ant 1.7
isFileFileSet
protected static boolean isFileFileSet(ResourceCollection rc)whether the given resource collection is a (subclass of) FileSet that only contains file system resources.
- Parameters:
rc
- the resource collection to check.- Returns:
- true if the collection is a fileset.
- Since:
- Ant 1.7
getFileNames
protected static java.lang.String[] getFileNames(FileSet fs)Grabs all included files and directors from the FileSet and returns them as an array of (relative) file names.
- Parameters:
fs
- the fileset to operate on.- Returns:
- a list of the filenames.
- Since:
- Ant 1.7
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).
- Parameters:
archiveFileSet
- fileset to copy attributes from, may be null- Returns:
- a new TarFileSet.
- Since:
- Ant 1.7