Class Tar
- All Implemented Interfaces:
Cloneable, SelectorContainer
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classValid Modes for Compression attribute to Tar Taskstatic classThis is a FileSet with the option to specify permissions and other attributes.static classSet of options for long file handling in the task. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringDeprecated.since 1.5.x.static final StringDeprecated.since 1.5.x.static final StringDeprecated.since 1.5.x.static final StringDeprecated.since 1.5.x.static final StringDeprecated.since 1.5.x.Fields inherited from class MatchingTask
filesetFields inherited from class ProjectComponent
description, location, project -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidadd(ResourceCollection res) Add a collection of resources to archive.protected booleanarchiveIsUpToDate(String[] files) Deprecated.since 1.5.x.protected booleanarchiveIsUpToDate(String[] files, File dir) Is the archive up to date in relationship to a list of files.protected booleanIs the archive up to date in relationship to a list of files.protected Tar.TarFileSetasTarFileSet(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 booleanChecks whether the archive is out-of-date with respect to the given files, ensures that the archive won't contain itself.protected booleancheck(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 booleanChecks whether the archive is out-of-date with respect to the resources of the given collection.Add a new fileset with the option to specify permissionsvoidexecute()do the businessprotected 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 booleanwhether the given resource collection is a (subclass of) FileSet that only contains file system resources.voidsetBasedir(File baseDir) This is the base directory to look in for things to tar.voidSet compression method.voidsetDestFile(File destFile) Set is the name/location of where to create the tar file.voidsetEncoding(String encoding) Encoding to use for filenames, defaults to the platform's default encoding.voidsetLongfile(String mode) Deprecated.since 1.5.x.voidSet how to handle long files, those with a path>100 chars.voidsetTarfile(File tarFile) Deprecated.since 1.5.x.protected booleanWhether this task can deal with non-file resources.protected voidtar(ResourceCollection rc, TarOutputStream tOut) Adds the resources contained in this collection to the archive.protected voidtarFile(File file, TarOutputStream tOut, String vPath, Tar.TarFileSet tarFileSet) tar a fileprotected voidtarResource(Resource r, TarOutputStream tOut, String vPath, Tar.TarFileSet tarFileSet) tar a resourceMethods inherited from class 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, XsetItemsModifier and TypeMethodDescriptionvoidadd(FileSelector selector) add an arbitrary selectorvoidaddAnd(AndSelector selector) add an "And" selector entry on the selector listvoidaddContains(ContainsSelector selector) add a contains selector entry on the selector listvoidaddContainsRegexp(ContainsRegexpSelector selector) add a regular expression selector entry on the selector listvoidaddCustom(ExtendSelector selector) add an extended selector entry on the selector listvoidaddDate(DateSelector selector) add a selector date entry on the selector listvoidaddDepend(DependSelector selector) add a depends selector entry on the selector listvoidaddDepth(DepthSelector selector) add a depth selector entry on the selector listvoidaddDifferent(DifferentSelector selector) add a type selector entry on the type listvoidaddFilename(FilenameSelector selector) add a selector filename entry on the selector listvoidaddMajority(MajoritySelector selector) add a majority selector entry on the selector listvoidaddModified(ModifiedSelector selector) add the modified selectorvoidaddNone(NoneSelector selector) add a "None" selector entry on the selector listvoidaddNot(NotSelector selector) add a "Not" selector entry on the selector listvoidaddOr(OrSelector selector) add an "Or" selector entry on the selector listvoidaddPresent(PresentSelector selector) add a present selector entry on the selector listvoidaddSelector(SelectSelector selector) add a "Select" selector entry on the selector listvoidaddSize(SizeSelector selector) add a selector size entry on the selector listvoidaddType(TypeSelector selector) add a type selector entry on the type listvoidappendSelector(FileSelector selector) Add a new selector into this container.add a name entry on the exclude listadd a name entry on the include files listadd a name entry on the include listadd a name entry on the include files listadd a set of patternsprotected DirectoryScannergetDirectoryScanner(File baseDir) Returns the directory scanner needed to access the files to process.protected final FileSetAccessor for the implicit fileset.Returns the set of selectors as an array.booleanIndicates whether there are any selectors here.intGives the count of the number of selectors in this containerReturns an enumerator for accessing the set of selectors.voidsetCaseSensitive(boolean isCaseSensitive) Sets case sensitivity of the file systemvoidsetDefaultexcludes(boolean useDefaultExcludes) Sets whether default exclusions should be used or not.voidsetExcludes(String excludes) Sets the set of exclude patterns.voidsetExcludesfile(File excludesfile) Sets the name of the file containing the includes patterns.voidsetFollowSymlinks(boolean followSymlinks) Sets whether or not symbolic links or Windows junctions should be followed.voidsetIncludes(String includes) Sets the set of include patterns.voidsetIncludesfile(File includesfile) Sets the name of the file containing the includes patterns.voidsetProject(Project project) Sets the project object of this component.voidXsetIgnore(String ignoreString) List of filenames and directory names to not include.voidSet this to be the items in the base directory that you want to be included.Methods inherited from class Task
bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskTypeModifier and TypeMethodDescriptionfinal voidbindToOwner(Task owner) Bind a task to another; use this when configuring a newly created task to do work on behalf of another.Returns the container target of this task.Returns the wrapper used for runtime configuration.Returns the name to use in logging messages.Return the type of task.protected RuntimeConfigurableReturn the runtime configurable structure for this task.protected voidhandleErrorFlush(String output) Handles an error line by logging it with the WARN priority.protected voidhandleErrorOutput(String output) Handles an error output by logging it with the WARN priority.protected voidhandleFlush(String output) Handles output by logging it with the INFO priority.protected inthandleInput(byte[] buffer, int offset, int length) Handle an input request by this task.protected voidhandleOutput(String output) Handles output by logging it with the INFO priority.voidinit()Called by the project to let the task initialize properly.protected final booleanHas this task been marked invalid?voidLogs a message with the default (INFO) priority.voidLogs a message with the given priority.voidLogs a message with the given priority.voidLogs a message with the given priority.voidConfigures this task - if it hasn't been done already.final voidperform()Performs this task if it's still valid, or gets a replacement version and performs that otherwise.voidForce the task to be reconfigured from its RuntimeConfigurable.voidsetOwningTarget(Target target) Sets the target container of this task.voidSets the wrapper to be used for runtime configuration.voidsetTaskName(String name) Sets the name to use in logging messages.voidsetTaskType(String type) Sets the name with which the task has been invoked.Methods inherited from class ProjectComponent
clone, getDescription, getLocation, getProject, setDescription, setLocationModifier and TypeMethodDescriptionclone()Returns the description of the current action.Returns the file/location where this task was defined.Returns the project to which this component belongs.voidsetDescription(String desc) Sets a description of the current action.voidsetLocation(Location location) Sets the file/location where this task was defined.
-
Field Details
-
WARN
Deprecated.since 1.5.x. Tar.WARN is deprecated and is replaced with Tar.TarLongFileMode.WARN- See Also:
-
FAIL
Deprecated.since 1.5.x. Tar.FAIL is deprecated and is replaced with Tar.TarLongFileMode.FAIL- See Also:
-
TRUNCATE
Deprecated.since 1.5.x. Tar.TRUNCATE is deprecated and is replaced with Tar.TarLongFileMode.TRUNCATE- See Also:
-
GNU
Deprecated.since 1.5.x. Tar.GNU is deprecated and is replaced with Tar.TarLongFileMode.GNU- See Also:
-
OMIT
Deprecated.since 1.5.x. Tar.OMIT is deprecated and is replaced with Tar.TarLongFileMode.OMIT- See Also:
-
-
Constructor Details
-
Tar
public Tar()
-
-
Method Details
-
createTarFileSet
Add a new fileset with the option to specify permissions- Returns:
- the tar fileset to be used as the nested element.
-
add
Add a collection of resources to archive.- Parameters:
res- a resource collection to archive.- Since:
- Ant 1.7
-
setTarfile
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
Set is the name/location of where to create the tar file.- Parameters:
destFile- The output of the tar- Since:
- Ant 1.5
-
setBasedir
This is the base directory to look in for things to tar.- Parameters:
baseDir- the base directory.
-
setLongfile
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
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
Set compression method. Allowable values are- none - no compression
- gzip - Gzip compression
- bzip2 - Bzip2 compression
- xz - XZ compression, requires XZ for Java
- Parameters:
mode- the compression method.
-
setEncoding
Encoding to use for filenames, defaults to the platform's default encoding.For a list of possible values see https://docs.oracle.com/javase/8/docs/technotes/guides/intl/encoding.doc.html.
- Parameters:
encoding- the encoding name- Since:
- Ant 1.9.5
-
execute
do the business- Overrides:
executein classTask- Throws:
BuildException- on error
-
tarFile
protected void tarFile(File file, TarOutputStream tOut, String vPath, Tar.TarFileSet tarFileSet) throws IOException tar 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:
IOException- on error
-
tarResource
protected void tarResource(Resource r, TarOutputStream tOut, String vPath, Tar.TarFileSet tarFileSet) throws IOException tar 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:
IOException- on error- Since:
- Ant 1.7
-
archiveIsUpToDate
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
-
archiveIsUpToDate
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
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
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
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:
-
tar
Adds 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:
IOException- on error.- Since:
- Ant 1.7
-
isFileFileSet
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
-
asTarFileSet
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
-