# tarTree

abstract fun tarTree(tarPath: Any): FileTree(source)

Creates a new `FileTree` which contains the contents of the given TAR file. The given tarPath path can be:

- an instance of org.gradle.api.resources.Resource
- any other object is evaluated as per file

The returned file tree is lazy, so that it scans for files only when the contents of the file tree are queried. The file tree is also live, so that it scans for files each time the contents of the file tree are queried.

Unless custom implementation of resources is passed, the tar tree attempts to guess the compression based on the file extension.

You can combine this method with the copy method to untar a TAR file:

    task untar(type: Copy) {
      from tarTree('someCompressedTar.gzip')

      //tar tree attempts to guess the compression based on the file extension
      //however if you must specify the compression explicitly you can:
      from tarTree(resources.gzip('someTar.ext'))

      //in case you work with unconventionally compressed tars
      //you can provide your own implementation of a ReadableResource:
      //from tarTree(yourOwnResource as ReadableResource)

      into 'dest'
    }

Content copied to clipboard

#### Return

the file tree. Never returns null.

#### Since

0.9

#### Parameters

tarPath

The TAR file or an instance of org.gradle.api.resources.Resource.